【发布时间】:2021-05-15 18:27:05
【问题描述】:
我有一个 pandas 数据框 (df),我需要根据列值的计数对其进行排序。该列的值是字符串。
例如,目标列的值是橙色、苹果、香蕉、桃子。个人计数( df['fruit'].value_counts() )是:
- 香蕉2678
- 桃子2250
- 橙色 1765
- 苹果1691
我需要根据这些计数对初始数据框(包含所有列等)进行排序。因此,在前 2678 行中,fruit 列中的值应该是香蕉等
【问题讨论】:
我有一个 pandas 数据框 (df),我需要根据列值的计数对其进行排序。该列的值是字符串。
例如,目标列的值是橙色、苹果、香蕉、桃子。个人计数( df['fruit'].value_counts() )是:
我需要根据这些计数对初始数据框(包含所有列等)进行排序。因此,在前 2678 行中,fruit 列中的值应该是香蕉等
【问题讨论】:
你可以使用 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)
【讨论】: