如何根据多列计算 pandas DataFrame 中相同行的频率?

Susan Sarandon
发布: 2024-10-25 02:03:02
原创
685 人浏览过

How can I count the frequency of identical rows in a pandas DataFrame based on multiple columns?

从多个数据帧列获取频率计数

要确定数据帧中相同行的频率,您可以使用 groupby() 方法使用 size() 函数。此技术使您能够计算多列中唯一值组合的出现次数。

考虑以下数据框:

   Group | Size |
---------+------+
   Short | Small |
   Short | Small |
   Moderate | Medium |
   Moderate | Small |
   Tall | Large |
登录后复制

要计算每行的频率,我们可以对数据框进行分组通过“Group”和“Size”列,并使用 size() 函数来确定每行出现的次数:

<code class="python">import pandas as pd

# Load the sample data
data = {'Group': ['Short', 'Short', 'Moderate', 'Moderate', 'Tall'], 'Size': ['Small', 'Small', 'Medium', 'Small', 'Large']}
df = pd.DataFrame(data)

# Option 1:
dfg = df.groupby(by=["Group", "Size"]).size()

# Option 2: Reset the index to convert the Series to a DataFrame
dfg = df.groupby(by=["Group", "Size"]).size().reset_index(name="Time")

# Option 3: Use as_index=False to create a DataFrame without an index
dfg = df.groupby(by=["Group", "Size"], as_index=False).size()</code>
登录后复制

生成的数据帧将提供“Group”的每个组合的频率计数”和“尺寸”值。例如,输出可能如下所示:

  Group | Size | Time
--------+------+------
  Moderate | Medium | 1
  Moderate | Small | 1
  Short | Small | 2
  Tall | Large | 1
登录后复制

以上是如何根据多列计算 pandas DataFrame 中相同行的频率?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!