gpt4 book ai didi

python - 使用 Pandas .groupby 时,为什么要使用 .agg 而不是直接使用函数,例如 .sum()

转载 作者:太空宇宙 更新时间:2023-11-04 07:53:33 27 4
gpt4 key购买 nike

在 Python 中,要按组获取摘要,我使用 groupby().agg(fx());例如 groupby('variable').agg('sum')。那和直接使用该功能有什么区别,例如; groupby('变量').sum() ?

最佳答案

设置

df = pd.DataFrame({'a': [1,2,3], 'b': [4,5,6]})

使用 agg 的主要好处在 the docs 中说明:

Aggregate using one or more operations over the specified axis.

如果您有单独的操作需要应用于每个单独的列,agg 接受一个字典(或一个函数、字符串或字符串/函数列表),允许您创建该映射在一个声明中。因此,如果您想要 a 列的sumb 列的mean:

df.agg({'a': 'sum', 'b': 'mean'})

a 6.0
b 5.0
dtype: float64

它还允许您在单个语句中对单个列应用多个操作。例如,要查找 a 列的 summeanstd:

df.agg({'a': ['sum', 'mean', 'std']})

a
sum 6.0
mean 2.0
std 1.0

当您对单个操作使用 agg 时,结果没有区别。我认为 df.agg('sum') 不如 df.sum() 清晰,但结果是一样的:

df.agg('sum')

a 6
b 15
dtype: int64

df.sum()

a 6
b 15
dtype: int64

agg 提供的主要好处是应用多个操作的便利性。

关于python - 使用 Pandas .groupby 时,为什么要使用 .agg 而不是直接使用函数,例如 .sum(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51849186/

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