熊猫,按计数分组并将计数添加到原始数据帧?

2024-02-19

当尝试计算数据框中具有相似“种类”的行时:

import pandas as pd

items = [('aaa','aaa text 1'), ('aaa','aaa text 2'), ('aaa','aaa text 3'),
         ('bb', 'bb text 1'), ('bb', 'bb text 2'), ('bb', 'bb text 3'), 
         ('bb', 'bb text 4'),
         ('cccc','cccc text 1'), ('cccc','cccc text 2'),
         ('dd', 'dd text 1'),
         ('e', 'e text 1'),
         ('fff', 'fff text 1'),
        ]

df = pd.DataFrame(items, columns=['kind', 'msg'])
df

    kind    msg
0   aaa     aaa text 1
1   aaa     aaa text 2
2   aaa     aaa text 3
3   bb      bb text 1
4   bb      bb text 2
5   bb      bb text 3
6   bb      bb text 4
7   cccc    cccc text 1
8   cccc    cccc text 2
9   dd      dd text 1
10  e       e text 1
11  fff     fff text 1

这段代码的工作原理:

df = df[['kind']].groupby(['kind'])['kind'] \
                         .count() \
                         .reset_index(name='count') \
                         .sort_values(['count'], ascending=False) \
                         .head(5)

df

导致:

    kind      count
    0   aaa   1
    1   bb    1
    2   cccc  1
    3   dd    1
    4   e     1

然而,如何获得一个包含所有列的数据框,就像原始的一加“计数”列一样?那么结果应该按此顺序包含“kind”、“msg”、“count”列?

另外,如何按计数降序对结果数据框进行排序?


IIUC

In [247]: df['count'] = df.groupby('kind').transform('count')

In [248]: df
Out[248]:
    kind          msg  count
0    aaa   aaa text 1      3
1    aaa   aaa text 2      3
2    aaa   aaa text 3      3
3     bb    bb text 1      4
4     bb    bb text 2      4
5     bb    bb text 3      4
6     bb    bb text 4      4
7   cccc  cccc text 1      2
8   cccc  cccc text 2      2
9     dd    dd text 1      1
10     e     e text 1      1
11   fff   fff text 1      1

sorting:

In [249]: df.sort_values('count', ascending=False)
Out[249]:
    kind          msg  count
3     bb    bb text 1      4
4     bb    bb text 2      4
5     bb    bb text 3      4
6     bb    bb text 4      4
0    aaa   aaa text 1      3
1    aaa   aaa text 2      3
2    aaa   aaa text 3      3
7   cccc  cccc text 1      2
8   cccc  cccc text 2      2
9     dd    dd text 1      1
10     e     e text 1      1
11   fff   fff text 1      1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

熊猫,按计数分组并将计数添加到原始数据帧? 的相关文章

随机推荐

  • Autofac 注册程序集类型

    在 Castle 中 我曾经执行以下操作来注册来自不同程序集的类型 Classes FromAssemblyNamed MyServer DAL Where type gt type Name EndsWith Repository Wit
  • 重叠绝对定位的内容

    我遇到了一些困难这一页 http louiswalch com beta t urs 它几乎可以正常工作 红色框应位于窗口的中心 h v 作品 黄色框应贴在窗口底部 作品 当窗口小于 400 像素高时 应出现滚动条 并且黄色框应出现在滚动区
  • 按第二列中的时间戳合并多个日志文件

    我有同一天的多个日志文件 我想要做的是根据日志中的时间戳将它们合并为一个Perl script 日志 1 log 2014 06 02 21 54 38 805 INFO com HomeManeger Executor Thread 19
  • 我们怎么知道这是数组中的最后一个元素?

    我有以下代码 int array 5 1 0 1 0 0 int i for i 0 i lt 5 i if array i 1 printf found one n 我们怎么知道第二个1 in the array是最后一个1我们发现 我的
  • 查找每个点坐标属于哪个国家/地区[重复]

    这个问题在这里已经有答案了 我有一个带有纬度 经度坐标的数据框 head COORD LAT LON 1 69 34 16 17 2 69 20 17 92 3 69 59 17 87 4 69 17 18 52 5 69 42 18 95
  • 多选 PHP

  • 用 Spirit Qi 解析成 std​​::vector,出现段错误或断言失败

    我使用 Spirit Qi 作为解析器 将数学表达式解析为表达式树 我跟踪诸如解析时遇到的符号类型之类的事情 并且必须在我正在解析的文本中声明这些符号 也就是说 我正在解析贝尔蒂尼输入文件 http bertini nd edu Berti
  • 有 libclang 的教程吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我一直在寻找一些易于理解的 libclang 指南 我在这里或其他论坛上看到了一些帖子 但唯一推荐的信
  • 如何使用 ef core 1 在 UWP 中运行迁移

    我不知道如何使用 EntityFramework Commands 也是 v7 0 0 rc1 final 在 EntityFramework Core v7 0 0 rc1 final 中运行迁移 当我添加迁移 Add Migration
  • Actionscript 3 内省——函数名称

    我试图迭代对象的每个成员 对于每个成员 我检查它是否是一个函数 如果它是一个函数 我想获取它的名称并根据函数的名称执行一些逻辑 我不知道这是否可能 是吗 有小费吗 example var mems Object getMemberNames
  • 如何在 C# 和 DataAnnotation 中创建通用 UniqueValidationAttribute?

    我正在尝试创建一个UniqueAttribute使用System ComponentModel DataAnnotations ValidationAttribute 我希望这是通用的 因为我可以传递 Linq DataContext 表名
  • 在浏览器窗口中更改 PDF 标题

    我有一个 pdf 文件 正在为客户放在网站上 它位于这里 http www optiphysicaltherapy com dev wp content uploads 2014 02 OPTI NewPatientForms pdf ht
  • 如何更改消息框标题? [复制]

    这个问题在这里已经有答案了 如何在asp net中更改此消息框的标题 该标题出现在 IE 中 帮忙 你不能 没有 API 可以执行此操作 默认标题是反网络钓鱼安全功能 如果您希望对警报消息的外观有足够的控制 那么您必须在 DOM 中构建自己
  • CGContextDrawImage 崩溃

    代码如下 void drawLayer CALayer layer inContext CGContextRef ctx CGContextRef context ctx CGContextRetain context CGContextS
  • 应用程序的沙箱虚拟机(概念)

    我想编写一个沙箱虚拟机来执行已编译的程序 我的目标是将该程序与操作系统的其余部分隔离并控制其执行 以便它不会对主机做出任何有害的事情 我假设 执行的程序被编译为可移植可执行格式 并且是机器代码 而不是任何类型的字节代码或 CLR 执行的程序
  • 在 python 中,是否有跨平台的方法来确定哪个进程正在侦听给定端口?

    在linux下 我可以使用lsof i如以下函数所示 def FindProcessUsingPort portnum import os fp os popen lsof i s portnum lines fp readlines fp
  • Android 12 模拟器预览版无连接

    我已经安装了 Android 12 Preview 模拟器 我遇到了很多问题 因为模拟器在启动时崩溃 但在卸载并再次安装并重新启动机器等后 我设法启动它 我现在遇到的问题是互联网连接不起作用 所有其他模拟器都工作正常 我尝试从命令行启动模拟
  • Android:向EditText字段添加小数点,并使其随输入移动

    在我的应用程序中 用户可以在文本字段中输入美元金额 问题是 我需要输入在输入数字时适应最终数字 而不实际输入小数点 解释这一点的最好方法是用一个例子 假设用户从包含以下内容的 EditText 字段开始 用户想要在字段中输入 12 53 即
  • 为 Google App Engine 配置 Jackson

    有什么办法可以配置吗Jackson 配置对象映射器 哪个用于序列化 servlet 响应 Api name rates version v1 title Rates API public class RatesApi static Logg
  • 熊猫,按计数分组并将计数添加到原始数据帧?

    当尝试计算数据框中具有相似 种类 的行时 import pandas as pd items aaa aaa text 1 aaa aaa text 2 aaa aaa text 3 bb bb text 1 bb bb text 2 bb