使用分组的布尔值对列进行排序

2024-06-28 15:01:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个df,它是分组的,每个组中都有布尔数

我想按降序排列“事件”,同时按状态和布尔值分组

property_state  delinquency    occurrence
AK              False          119
                True            17
AL              False          928
                True           185
AR              False          500
                              ... 
WI              True           432
WV              False          177
                True            26
WY              False          140
                True            34

我试过:

df.sort_values(df['occurrence'], axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last')

以及:

df = df.sort_values('occurrence').groupby('state')

但我明白了

<pandas.core.groupby.generic.DataFrameGroupBy object at 0x0000022AB4B51DC8>


Tags: falsetruedf状态事件propertysortak
1条回答
网友
1楼 · 发布于 2024-06-28 15:01:26

这个df = df.sort_values('occurrence').groupby('state')是正确的,如果需要statedelinquency将其更改为:

df = df.sort_values('occurrence').groupby(['state','delinquency'])

但是现在在新的df中有一个分组的df,所以您必须决定如何处理这个分组。如果您只想订购,只需使用:

df.reset_index()

因此,我的最终答案是:

df = df.sort_values('occurrence').groupby(['state','delinquency'])
df = df.reset_index()

df = df.sort_values('occurrence').groupby(['state','delinquency']).reset_index()

相关问题 更多 >