我有一個像這樣的熊貓數(shù)據(jù)框:TransactionID ProductID1 1321 2561 9852 3213 4513 219我想按“TransactionID”分組并將“ProductID”分配給一個列表,如下所示:list = [[132, 256, 985], [321], [451, 291]]執(zhí)行此任務(wù)的正確方法是什么?
2 回答

ABOUTYOU
TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個贊
以下不是很好,但可以工作。
result = [list(i.ProductID) for i in dict(list(df.groupby("TransactionID"))).values()]

米琪卡哇伊
TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個贊
像這樣的事情可能會有所幫助。
您只需按 將它們分組TransactionID
,然后從中取出ProductID
并轉(zhuǎn)換為列表
grouped_list = list(df.groupby('TransactionID')['ProductID'].apply(list))
正如評論中提到的,使用“l(fā)ist”作為變量名并不好。這是因?yàn)槟鷮⒅匦露x list 命令的原始功能,將其設(shè)置為您從 df 中提取的分組列表。
添加回答
舉報
0/150
提交
取消