Python - 将行分组为列表

我有一个像这样的熊猫数据框:


TransactionID     ProductID

1                 132

1                 256

1                 985

2                 321

3                 451

3                 219

我想按“TransactionID”分组并将“ProductID”分配给一个列表,如下所示:


list = [[132, 256, 985], [321], [451, 291]]

执行此任务的正确方法是什么?


手掌心
浏览 224回答 2
2回答

ABOUTYOU

以下不是很好,但可以工作。result = [list(i.ProductID) for i in dict(list(df.groupby("TransactionID"))).values()]

米琪卡哇伊

像这样的事情可能会有所帮助。您只需按 将它们分组TransactionID,然后从中取出ProductID并转换为列表 grouped_list = list(df.groupby('TransactionID')['ProductID'].apply(list))正如评论中提到的,使用“list”作为变量名并不好。这是因为您将重新定义 list 命令的原始功能,将其设置为您从 df 中提取的分组列表。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python