gpt4 book ai didi

python - 由 pandas 分组产生的列表顺序

转载 作者:行者123 更新时间:2023-11-28 19:04:35 25 4
gpt4 key购买 nike

我有一个关于 pandas.core.groupby.GroupBy.apply 的问题

考虑

df.groupby('col1')['col2'].apply(list)

订单有保证吗?例如,以下建议:

In [1]: import pandas as pd

In [2]: df = pd.DataFrame({"col1": ['a', 'a', 'b', 'b', 'b'], "col2": [1,2,3,4,5]})

In [3]: df.groupby('col1')['col2'].apply(list)
Out[3]:
col1
a [1, 2]
b [3, 4, 5]
Name: col2, dtype: object

In [4]: df = pd.DataFrame({"col1": ['a', 'a', 'b', 'b', 'b'], "col2": [2,1,3,4,5]})

In [5]: df.groupby('col1')['col2'].apply(list)
Out[5]:
col1
a [2, 1]
b [3, 4, 5]
Name: col2, dtype: object

但总是这样吗?

编辑

在两个pandas.DataFrame.groupbypandas.Series.groupby提到保留每个组内的顺序。但是,在上面的示例中,df.groupby('col1')['col2'] 的类型是 pandas.core.groupby.SeriesGroupBy 我不确定这同样适用于这种情况。我需要知道(即引用代码/文档)在应用 list 时保留每个组内的顺序。

最佳答案

这就是为什么我们有 sort_values

df.sort_values(['col1','col2']).groupby('col1')['col2'].apply(list)
Out[79]:
col1
a [1, 2]
b [3, 4, 5]
Name: col2, dtype: object

关于python - 由 pandas 分组产生的列表顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48524798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com