我有如下Pandas DataFrame("ID"和"col1"的数据类型是"Object"):
ID | COL1 | COL2 | COL3
----|------|------|----
123 | ABc | 55 | G4
123 | Abc | 55 | G4
123 | DD | 55 | G4
44 | RoR | 41 | P0
44 | RoR | 41 | P0
55 | XX | 456 | RR
我需要:
- 创建新列"col1_cum",其中每个ID的"col1"中的所有值将由逗号分隔
- 丢弃重复的ID
- 创建新列"col1_num",其中将显示每个"ID"在"col1"中有多少不同级别的信息.
因此,我需要以下内容:
ID | COL1_cum | COL1_num |COL2 | COL3
----|----------|----------|-----|-----
123 | ABc, DD | 2 | 55 | G4
44 | RoR | 1 | 41 | P0
55 | XX | 1 | 456 | RR
Col1_num的说明:
- 对于ID=123 col1_num=2,因为对于"col1"中的ID=123,我们有两个不同的值:"ABC"和"DD"
- 对于ID=44的col1_num=1,因为对于"col1"中的ID=44,我们有一个值:"RoR"
- 对于ID=55 col1_num=1,因为对于"col1"中的ID=5,我们有1个值:"XX"
我如何在Python Pandas中做到这一点?