首页  >  文章  >  后端开发  >  如何计算 Pandas DataFrame 中基于多列的行的频率?

如何计算 Pandas DataFrame 中基于多列的行的频率?

Susan Sarandon
Susan Sarandon原创
2024-10-25 02:33:02172浏览

How to Count the Frequency of Rows Based on Multiple Columns in a Pandas DataFrame?

根据多个 Dataframe 列获取频率计数

要查找数据框中多次出现的行的频率,您可以使用具有大小或计数函数的 groupby 操作。让我们用一个示例数据框来演示这一点:

import pandas as pd

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

选项 1:使用 groupby 和 size

dfg = df.groupby(['Group', 'Size']).size()
print(dfg)

输出:

Group     Size
Moderate  Medium    1
          Small     1
Short     Small     2
Tall      Large     1
dtype: int64

选项2:使用groupby、size和reset_index

dfg = df.groupby(['Group', 'Size']).size().reset_index(name='Time')
print(dfg)

输出:

      Group    Size  Time
0  Moderate  Medium     1
1  Moderate   Small     1
2     Short   Small     2
3      Tall   Large     1

选项3:使用groupby、size和as_index

dfg = df.groupby(['Group', 'Size'], as_index=False).size()
print(dfg)

输出:

      Group    Size  Time
0  Moderate  Medium     1
1  Moderate   Small     1
2     Short   Small     2
3      Tall   Large     1

每个选项都会返回一个包含 Group 和 Size 列的数据框,指示原始数据框中出现的特定行组合。附加的“时间”列显示每个组合的频率计数。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn