在python中使用group by从pandas dataframe创建一个list列表

7lrncoxx  于 2023-06-20  发布在  Python
关注(0)|答案(1)|浏览(124)

我是Python的初学者。我只是想知道,我在一个pandas dataframe中有此数据
| 类型,类型|价值|
| - -----|- -----|
| 一个|1|
| 一个|4|
| 一个|3|
| B|六|
| B| 2|
| B| 2|
其中每个type将有三个值(可以是不同的值或相同的值)
我想要的是创建一个list of list(或者任何东西,我不知道确切的名称,因为我一直在使用这个词汇表搜索类似的问题),但是***group by type column***
预期的输出是这样的列表列表:

[[1,4,3],[6,2,2]]
fcy6dtqo

fcy6dtqo1#

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]]。如果你想对list中的任何值进行排序,你必须相应地应用key=some_function()

相关问题