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



我有一个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')

但是我有

<位于0x0000022AB4B51DC8的pandas.core.groupby.generic.DataFrameGroupBy对象>

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()

最新更新