我有一个 Pandas 数据框 (df),我需要根据列值的计数对其进行排序。列的值为字符串。
例如,目标列的值为橙子、苹果、香蕉、桃子。单个计数( df['fruit'].value_counts() )是:
结果我需要根据这些计数排序的初始数据框(包括所有列等)。所以,在前 2678 行水果列中的值应该是香蕉等
答案 0 :(得分:1)
您可以使用 map 和 sort_values 来满足您的需求。
df['sort_col'] = df['fruit'].map(df['fruit'].value_counts())
df = df.sort_values(by='sort_col', ascending=False).drop('sort_col', axis=1)