mik*_*cci 3 python group-by dataframe pandas pandas-groupby
我有这样的df:
ID Cluster Product
1 4 'b'
1 4 'f'
1 4 'w'
2 7 'u'
2 7 'b'
3 5 'h'
3 5 'f'
3 5 'm'
3 5 'd'
4 7 's'
4 7 'b'
4 7 'g'
Run Code Online (Sandbox Code Playgroud)
其中ID是另一个df的主键和唯一键,该df是此df的源.群集不是关键,不同的ID通常具有相同的群集值; 无论如何,这是我必须要进行的信息.
我想要获得的是这个数据帧:
ID Cluster Product_List_by_ID
1 4 ['b','f','w']
2 7 ['u','b']
3 5 ['h','f','m','d']
4 7 ['s','b','g']
Run Code Online (Sandbox Code Playgroud)
如果这是不可能的,那么像这样的字典也可以:
d = {ID:[1,2,3,4], Cluster:[4,7,5,7],
Product_List_by_ID:[['b','f','w'],['u','b'],['h','f','m','d'],['s','b','g']]}
Run Code Online (Sandbox Code Playgroud)
我尝试了很多方法都没有成功..似乎不可能将列表作为pandas数据帧值插入..无论如何,我认为以某种棘手的方式获取目标应该不会那么困难...对不起,如果我要走出去记住,但我是编码的新手
有什么建议吗?!谢谢
使用 groupby
df.groupby(['ID', 'Cluster']).Product.apply(list)
ID Cluster
1 4 ['b', 'f', 'w']
2 7 ['u', 'b']
3 5 ['h', 'f', 'm', 'd']
4 7 ['s', 'b', 'g']
Name: Product, dtype: object
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
667 次 |
| 最近记录: |