pandas groupby()函数是否总是产生一个与我们分组的列顺序相同的DataFrame?

fykwrbwg  于 2023-03-28  发布在  其他
关注(0)|答案(1)|浏览(139)

给定pd.DataFrameXid列,对groupby()的调用是否总是返回一个与id列顺序相同的DataFrame?
X.groupby('id')[col_name].first()

q1qsirdb

q1qsirdb1#

否,默认情况下,groupby按分组键对行进行排序。
您可以通过传递sort=False来禁用此行为:

X.groupby('id', sort=False)[col_name].first()

示例:

df = pd.DataFrame({'id': [3, 1, 2, 1, 2], 'col_name': list('abcde')})

   id col_name
0   3        a
1   1        b
2   2        c
3   1        d
4   2        e

df.groupby('id')['col_name'].first()

id
1    b
2    c
3    a
Name: col_name, dtype: object

df.groupby('id', sort=False)['col_name'].first()

id
3    a
1    b
2    c
Name: col_name, dtype: object

相关问题