为了账号安全,请及时绑定邮箱和手机立即绑定

Python - 将行分组为列表

Python - 将行分组为列表

手掌心 2021-09-14 13:54:15
我有一个像这样的熊猫数据框:TransactionID     ProductID1                 1321                 2561                 9852                 3213                 4513                 219我想按“TransactionID”分组并将“ProductID”分配给一个列表,如下所示:list = [[132, 256, 985], [321], [451, 291]]执行此任务的正确方法是什么?
查看完整描述

2 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

以下不是很好,但可以工作。

result = [list(i.ProductID) for i in dict(list(df.groupby("TransactionID"))).values()]


查看完整回答
反对 回复 2021-09-14
?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

像这样的事情可能会有所帮助。
您只需按 将它们分组TransactionID,然后从中取出ProductID并转换为列表

 grouped_list = list(df.groupby('TransactionID')['ProductID'].apply(list))

正如评论中提到的,使用“list”作为变量名并不好。这是因为您将重新定义 list 命令的原始功能,将其设置为您从 df 中提取的分组列表。


查看完整回答
反对 回复 2021-09-14
  • 2 回答
  • 0 关注
  • 223 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信