【问题标题】:Python pandas: determining which "group" has the most entriesPython pandas:确定哪个“组”的条目最多
【发布时间】:2015-12-29 08:44:09
【问题描述】:

假设我有一个带有名为“fruit”的列的 pandas DataFrame,它代表我幼儿园的教室里早餐吃的水果。我班有20个学生。分解是这样的。

橙子 = 7,葡萄 = 3,黑莓 = 4,香蕉 = 6

我使用 sort 对这些水果类型进行分组,但它是根据字母顺序进行分组的。我希望它根据该类水果的最大条目数量进行分组。在这种情况下,我希望橙子先出现,这样我就可以很容易地看到橙子是最受欢迎的水果。

我认为这种排序不是解决此问题的最佳方法。我检查了 groupby,但也不知道如何正确使用它。

提前致谢。

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    按名称排序:df.fruit.value_counts().sort_index()

    按计数排序:df.fruit.value_counts().sort_values()

    【讨论】:

    • 我按照建议这样做了:df.fruit.value_counts().sort_index() 我得到了这样的结果,发现是一个系列:橘子 5 香蕉 13 苹果 2 我想返回“ Bananas”在我创建的函数中,因为 Bananas 的计数最高为 13,我很困惑如何做到这一点。如果它是一个数据框,我的想法是我可以按整数列排序,然后返回基于水果的列中的第一个字符串。我是熊猫和 Python 的新手,我不太确定如何按照我提到的方式将系列转换为数据框,或者是否有必要?
    【解决方案2】:

    在熊猫 0.17 中:

    df.sort_values(by='fruit', ascending=False)
    

    【讨论】:

      猜你喜欢
      • 2015-12-11
      • 2018-06-04
      • 2017-02-02
      • 1970-01-01
      • 2014-10-13
      • 1970-01-01
      • 1970-01-01
      • 2021-04-23
      • 1970-01-01
      相关资源
      最近更新 更多