【发布时间】:2017-08-17 05:23:48
【问题描述】:
我有一个这样的数据框:
file:
| FIRST | LAST | ID |
---------------------------
0 "ABC" 12 35
1 "ABC" 14 35
2 "AB" 15 36
现在,我想要的是:
file:
| FIRST | LAST | ID |
---------------------------
0 "ABC" [12,14] 35
2 "AB" 15 36
对于这个问题,我们假设如果两行的 ID 相等,那么除了 LAST 之外的所有值也相等。
因此,替换除了last的值之外的所有值,这些值被添加到列表中。
我尝试使用此链接中给出的解决方案: Pandas DataFrame - Combining one column's values with same index into list
我用过这个:
file = file.groupby('ID')
file = file['Last'].unique()
这是我得到的输出:
ID
35 [12, 14]
36 [15]
Name: Last, dtype: object
可能,我在 groupby() 中遗漏了一些东西。
提前致谢:)
更新:
我的原始数据框有 100 多列。 如果两行的 ID 相等,则除 LAST 之外的所有值也相等。
【问题讨论】:
标签: python pandas dataframe pandas-groupby