gpt4 book ai didi

python - 如何使用按另一列分组的 Pandas Dataframe 获取分组大小的方法?

转载 作者:太空宇宙 更新时间:2023-11-04 09:03:12 25 4
gpt4 key购买 nike

假设我有这样一个数据集:

import pandas as pd

raw_data = {
'entrytype': ['a', 'a', 'b', 'c', 'c', 'c', 'd'],
'year': [2000, 2000, 2000, 2001, 2001, 2001, 2001],
}

df = pd.DataFrame.from_dict(raw_data)

我想要每年不同entrytype的数量的平均值(entrytype只是为了示例,真实数据集有其他列和其他名称)。entrytype p>

现在,如果我这样做:df.groupby(['entrytype', 'year']).size() 我会得到 entrytypes 的数量Pandas Series像这样:

entrytype  year
a 2000 2
b 2000 1
c 2001 3
d 2001 1
dtype: int64

我需要的是每年这些数字的平均值,如下所示:

year
2000 1.5
2001 2

我曾尝试用 Pandas 来做这件事,但无法按年份分组,因为系列是一维的,因此不允许分组。我最终使用 Python 字典并“手动”计算平均值,但必须有更好的方法来执行此操作,即使用 Pandas。

那么,我该如何使用 Pandas API 做到这一点呢?

最佳答案

这应该可行

df.groupby(['entrytype', 'year']).size().groupby(level=1).mean()

year
2000 1.5
2001 2.0
dtype: float64

关于python - 如何使用按另一列分组的 Pandas Dataframe 获取分组大小的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23389965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com