【发布时间】:2021-03-12 07:10:05
【问题描述】:
我有一个买家 (buyerid),这个买家可以购买几辆不同的汽车 (carid)。
我想列出他买了哪些车。
在这里,我想总结一下每个买家的所有汽车,并将它们保存为一个列表。
例如,买家 1 购买了 ID 为 1 和 ID 2 的汽车。此列表现在应包含[1,2]。
如何制作这样的清单?
如果我调用 .values.tolist() 方法,那么我将每一行作为一个列表,但我希望买家汇总 carid。
import pandas as pd
d = {'Buyerid': [1,1,2,2,3,3,3,4,5,5,5],
'Carid': [1,2,3,4,4,1,2,4,1,3,5],
'Carid2': [1,2,3,4,4,1,2,4,1,3,5]}
df = pd.DataFrame(data=d)
print(df)
ls = df.values.tolist()
print(ls)
Buyerid Carid Carid2
0 1 1 1
1 1 2 2
2 2 3 3
3 2 4 4
4 3 4 4
5 3 1 1
6 3 2 2
7 4 4 4
8 5 1 1
9 5 3 3
10 5 5 5
[[1, 1, 1], [1, 2, 2], [2, 3, 3], [2, 4, 4], [3, 4, 4], [3, 1, 1], [3, 2, 2], [4, 4, 4], [5, 1, 1], [5, 3, 3], [5, 5, 5]]
# What I want as list
[[1,2],[3,4],[4,1,2],[4],[1,3,5]]
【问题讨论】:
标签: python pandas list dataframe