在 Python 中,要按组获取摘要,我使用 groupby().agg(fx());例如 groupby('variable').agg('sum')。那和直接使用该功能有什么区别,例如; groupby('变量').sum() ?
请您参考如下方法:
设置
df = pd.DataFrame({'a': [1,2,3], 'b': [4,5,6]})
Aggregate using one or more operations over the specified axis.
如果您有单独的操作需要应用于每个单独的列,agg 接受一个字典(或一个函数、字符串或字符串/函数列表),允许您创建该映射在一个声明中。因此,如果您想要 a 列的sum 和 b 列的mean:
df.agg({'a': 'sum', 'b': 'mean'})
a 6.0
b 5.0
dtype: float64
它还允许您在单个语句中对单个列应用多个操作。例如,要查找 a 列的 sum、mean 和 std:
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 提供的主要好处是应用多个操作的便利性。
