我有这个数据框,但是当使用来自熊猫的sort_values
时,它并没有得到排序。
x = pd.read_csv(r'C:\Users\user\Desktop\Dataset.csv', sep = ',')
x.sort_values('duration',ascending = False,inplace = True)
x.loc[:,'dates'] = pd.to_datetime(x['dates'])
b=x.sort_values(['dates'],ascending = True).groupby([x['dates'].dt.strftime('%m'),'user'])['duration'].sum().reset_index()
b
它应该按月中每个用户的持续时间进行排序,以总小时数为单位,但没有出现排序。
month user duration
0 09 user_01 54.73
1 09 user_02 55.82
2 09 user_03 18.00
答案 0 :(得分:0)
您可以先分组并对值进行排序
df.groupby('month').apply(lambda x: x.sort_values(['duration'],ascending=False))
出局:
month user duration
month
9 1 9 user_02 55.82
0 9 user_01 54.73
2 9 user_03 18.00