使用 group by 从 python 中的 pandas 数据框创建列表列表

Create a list of list from pandas dataframe in python with group by

我是 python 的初学者。我只是想知道,我在 pandas dataframe

中有这些数据
type value
A 1
A 4
A 3
B 6
B 2
B 2

其中每个 type 将具有三个值(可以是不同的值或相同的值)

我想要的是创建一个 list of list(或者任何东西,我不知道确切的名字,因为我一直在使用这个搜索类似的问题词汇)但 按类型分组列

预期输出正是这样的列表列表:

[[1,4,3],[6,2,2]]
df.groupby('type').agg(pd.Series.tolist)['value'].tolist()

或者简单地说:

df.groupby('type').agg(list)['value'].tolist()

编辑:

这取决于您是否要对哪个数字进行排序。在这种情况下,它将对列表的第一个元素进行排序,即 1

如果你想反转你可以简单地说k = df.groupby('type').agg(list)['value'].tolist()

k.sort(reverse=True) 

它会给你[[6,2,2], [1,4,3]]。如果要对列表的任何值进行排序,则必须相应地应用 key=some_function()