当前位置: 首页 > 知识库问答 >
问题:

按列值的计数对Dataframe进行排序

徐丰茂
2023-03-14

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

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

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

结果我需要根据这些计数对初始数据帧(包括所有列等)进行排序。因此,在前2678行中,水果列中的值应为香蕉等

共有1个答案

沈宇定
2023-03-14

您可以使用map,然后对所需的值进行排序

df['sort_col'] = df['fruit'].map(df['fruit'].value_counts())
df = df.sort_values(by='sort_col', ascending=False).drop('sort_col', axis=1)
 类似资料:
  • 除了对反向列表理解进行列表理解之外,是否有一种pythonic方法按值对计数器进行排序?如果是这样,它比这更快:

  • 我有一个班的学生有以下领域: 字段“状态”可以有2个值:1。现在,2。缺席的 然后我有一个可观察的列表: 因此,我将学生存储在这个列表中。每个学生都有出席或缺席状态。 我需要按状态对这个观察列表进行排序。我希望目前状态的学生在该列表中名列第一。 有什么建议吗? 如果有任何帮助,我将不胜感激。

  • 问题内容: 假设我有一个数据列,其中包含,和,我想按升序按列对数据帧进行排序,然后按降序按列对数据帧进行排序,我该怎么做? 问题答案: 从0.17.0版开始,不推荐使用该方法,而推荐使用。 sort在0.20.0版本中被完全删除。参数(和结果)保持不变: 你可以使用的升序参数sort: 例如: 如@renadeen所评论 默认情况下,排序不正确!因此,你应该将方法的结果分配给变量,或者将添加到方法

  • 问题内容: 考虑这种字典格式。 我希望字典首先按下载进行排序,然后对所有没有下载的项目按日期进行排序。显然,字典无法排序,我只需要列出可以迭代的键即可。 我已经可以使用来按任一值对列表进行排序,但是如何也按第二个值对列表进行排序? 问题答案: 将参数用于。它允许您指定一个函数,给定要排序的实际项目,该函数将返回一个应作为排序依据的值。如果此值为元组,则其排序方式类似于元组排序- 按第一个值,然后按

  • 问题内容: 它有点难以解释。跳到示例可能会更容易。 一个表有一个ID和四列,每列允许为空。 有x行数。(通常小于4)并且在整个列中最多只能使用4个不同的值。 我希望返回最多4行,其中结果集中的每一行基本上都是一列值,其中该值是从顶部保留Col编号开始从右向左选择的。如果另一行的值不是列唯一,则将其移至下一个可用列。 例子: 如果我有: 我想回来 和 给 和 给 谢谢!当存在非唯一列并且值之间存在空