【问题标题】:Sort Dataframe by the counts of the column values按列值的计数对数据框进行排序
【发布时间】:2021-05-15 18:27:05
【问题描述】:

我有一个 pandas 数据框 (df),我需要根据列值的计数对其进行排序。该列的值是字符串。

例如,目标列的值是橙色、苹果、香蕉、桃子。个人计数( df['fruit'].value_counts() )是:

  • 香蕉2678
  • 桃子2250
  • 橙色 1765
  • 苹果1691

我需要根据这些计数对初始数据框(包含所有列等)进行排序。因此,在前 2678 行中,fruit 列中的值应该是香蕉等

【问题讨论】:

    标签: pandas dataframe


    【解决方案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)
    

    【讨论】:

      猜你喜欢
      • 2021-10-29
      • 2022-11-12
      • 2016-09-05
      • 2010-11-20
      • 2011-11-12
      相关资源
      最近更新 更多