数据帧中值对出现的次数

2024-02-19

我有包含以下列的数据框:

Name, Surname, dateOfBirth, city, country

我有兴趣找出最常见的名字和姓氏组合以及它出现的频率。 如果能看到前 10 名组合的列表就好了。

我对第一名的想法是:

mostFreqComb= df.groupby(['Name','Surname'])['Name'].count().argmax()

但我认为它没有给我正确的答案。 非常感谢您的帮助!

谢谢, 鼻


有关以下解决方案的性能影响,请参阅Pandas groupby.size vs series.value_counts vs collections.Counter 具有多个系列 https://stackoverflow.com/questions/50328246/pandas-groupby-size-vs-series-value-counts-vs-collections-counter-with-multiple。下面首先介绍它们,其中性能最佳。

GroupBy.size https://pandas.pydata.org/pandas-docs/stable/generated/pandas.core.groupby.GroupBy.size.html

您可以使用(姓名,姓氏)元组索引创建一系列计数GroupBy.size:

res = df.groupby(['Name', 'Surname']).size().sort_values(ascending=False)

通过对这些值进行排序,我们可以轻松提取最常见的值:

most_common = res.head(1)
most_common_dups = res[res == res.iloc[0]].index.tolist()  # handles duplicate top counts

value_counts https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.value_counts.html

另一种方法是构造一系列元组,然后应用pd.Series.value_counts:

res = pd.Series(list(zip(df.Name, df.Surname))).value_counts()

结果将是一系列按姓名组合索引的计数,从最常见到最少排序。

name, surname = res.index[0]  # return most common
most_common_dups = res[res == res.max()].index.tolist()

collections.Counter https://docs.python.org/3/library/collections.html#collections.Counter

如果你想创建一个字典(name, surname): counts条目,您可以通过collections.Counter:

from collections import Counter

zipper = zip(df.Name, df.Surname)
c = Counter(zipper)

Counter有有用的方法,例如most_common,您可以使用它来提取结果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据帧中值对出现的次数 的相关文章

随机推荐

  • 为什么我从 LDAP 属性中获取“System.__ComObject”?

    我将是第一个承认这是被删减和过去的节目的人 我以前没看过AD 实在是看不懂 我想这就是我的下一个研究 不管怎样 这是一些测试代码 它应该显示到期日期 要么以可读的形式 要么以刻度显示 这并不重要 这是一个 Web 表单 在开发 Web 服务
  • 易失性变量有用吗?如果是的话什么时候?

    正在接听这个问题 https stackoverflow com questions 20339725 executing weka classification in c sharp in parallel 20339822 203398
  • 为什么 gridfs get 不能仅按文件名处理文件 id (ObjectId)

    我正在使用nodejs mongodb mongoose 和gridfs 当我尝试通过文件名获取文件时 如果我想通过 id 获取它 那么一切都工作得很好 错误 您要读取的文件不存在 我使用以下代码 console log res pic i
  • 在 MySQL 中使行处于非活动状态

    是否有可能使 MySQL 中的一行处于非活动状态 那么查询结果中不再使用这一行 我的客户希望保留已删除的成员存在于数据库中 但我不想编辑所有查询来检查成员是否已删除 或者是否有一种简单的方法将整个行数据移动到另一个 非活动 表中 您可以重命
  • PHP curl FTPes w/显式 TLS/SSL

    我一直在尝试使用显式 TLS SSL 服务器推送到远程 FTP 但连接始终超时 它正在连接 但我不知道它在哪里停止 但我假设它与 FTP TLS SSL 控制通道有关 任何帮助将不胜感激 通过 FileZilla 我可以毫无问题地进行连接
  • 将 Groovy 应用程序和测试代码与 jlink 解决方案结合使用来捆绑 JavaFX

    这是继这个优秀的解决方案 https stackoverflow com a 58541585 595305如何让 Gradle 将 JavaFX 与您的发行版捆绑在一起的问题 注意规格 Linux Mint 18 3 Java 11 Ja
  • 如何在构建服务器上使用“firebase login:ci”

    我正在使用以下命令运行nodejs构建Github 工作流程 https help github com en actions automating your workflow with github actions configuring
  • 将实际值从 fortran77 dll 返回到 c#

    有人可以指出我在这里做错了什么吗 FORTRAN 77 dll 代码 pragma aux DON DON export parm value 8 value 8 SUBROUTINE DON DAA DBB DCC REAL 8 DAA
  • Javascript:将 OOP 方法附加到事件和“this”关键字

    我是 OOP Javascript 新手 并且在使用时遇到问题this关键字和事件 我想要实现的是 我有多个 DOM 对象 并且不仅希望将公共事件绑定到它们 还希望将有关上述对象的一些数据保留在全局容器中 以提高运行时性能 所以我所做的基本
  • 为什么使用 scanf 读入字符串缓冲区可以在有或没有与号 (&) 的情况下工作?

    我对某事有点困惑 我的印象是读取 C 字符串的正确方法是scanf 沿着 不用担心可能的缓冲区溢出 这只是一个简单的例子 char string 256 scanf s string 然而 以下似乎也有效 scanf s string 这只
  • 比较 Excel 工作簿中两个工作表的最佳方法是什么

    鉴于我有以下内容
  • 为什么要使用字段而不是属性?

    我对 C 还很陌生 我认为属性是一件很棒的事情 事实上 这太棒了 以至于我看不出使用字段有任何真正的优势 即使对于私人领域 属性提供的灵活性和模块化似乎充其量可以让您避免严重的头痛 而最坏的情况则根本没有任何效果 我看到的字段的唯一优点是您
  • 将 iPhone X 旋转至横向时,封面图像左侧和下方出现空白

    今天出现了一个奇怪的问题 在测试一个简单的 即将推出 页面时 我的 iPhone X 上的背景图像在旋转到横向时没有填充整个视口 在 Chrome 和 Safari 中测试 产生问题的简化示例 html background url htt
  • 如何使这些按钮不显示为蓝色链接

    所以我只是想创建一个小网站 别担心这不会发生 作为标题 目前 主页 新闻 图库 和 关于我们 并不是指向另一个页面的实际按钮 当我做 a href Mainpage htm Home a 该按钮变成紫色并带有下划线 我知道这就是链接的显示方
  • 实体框架一对零或一外键关联

    我正在更改现有应用程序的后端以使用实体框架代码优先 我使用 Visual Studio 2015 中的内置工具根据现有数据库生成 POCO 类 这在大多数情况下都非常有效 除了两个具有一对零或一关系的类之外 这些是我的 简化的 课程 pub
  • 在 Shiny 中获取响应头变量

    我的 apache 将 LDAP 登录传递给变量X 远程用户在标题中 但我不知道如何在 Shiny 应用程序中获取它 有任何想法吗 也许解决方案可以是一些java脚本 好吧 我解决了 首先包含在ui Rjs函数 www js getLogi
  • Elasticsearch 自动完成或按令牌自动建议

    我想就如何基于标记完成术语提出建议 类似于谷歌的自动完成功能 但仅使用一个标记或单词 我想搜索将被标记化的文件名 例如 BRAND Connect A1233 jpg 被标记为 brand connect a1234 和 jpg 现在我想征
  • 如何在 Visual Studio 中搜索特定数据库表

    我在 Visual Studio 中有 6 个 dtsx 设计 文件 作业步骤 大多数情况下 作业步骤运行 sql 代码并删除 创建 复制表 如何搜索某个特定表格被触摸的位置 我尝试了 control F 并浏览了菜单中的搜索选项 我不认为
  • DataGridRow 上的 WPF DataGrid MouseOver

    我不明白为什么代码的第一部分不起作用 但第二部分却起作用 PART 1
  • 数据帧中值对出现的次数

    我有包含以下列的数据框 Name Surname dateOfBirth city country 我有兴趣找出最常见的名字和姓氏组合以及它出现的频率 如果能看到前 10 名组合的列表就好了 我对第一名的想法是 mostFreqComb d