使用 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()
。
我是 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()
。