通过ID计数对数据框列进行排序

时间:2020-10-30 20:56:08

标签: python pandas dataframe

我想对学生进行计数,并按计数对学生进行排序,然后打印前3个。 我尝试过:

df['freq'] = df.groupby('studentid')['studentid'].transform('count')
df.sort_values('freq')
print("The 3 students")
print(df[['freq', 'studentname', 'studentid']])

但是输出每次都是一样的。 输出仅显示具有频率的正常数据帧,但不对其进行排序。

1 个答案:

答案 0 :(得分:0)

df.sort_values('freq')返回数据的(排序的)副本。所以:

df = df.sort_values('freq')

df.sort_values('freq', inplace=True)