使用 pandas GroupBy.agg() 对同一列进行多重聚合
问题:
如何将多个聚合函数(f1、f2)应用于同一列(“returns”) 在 pandas DataFrame 中使用 GroupBy.agg() 而不多次调用 agg() ?
直觉:
如果有一个句法例如:
df.groupby("dummy").agg({"returns": [f1, f2]})
解决方案:
截至 2022 年 6 月 20 日,以下语法是可接受的做法:
df.groupby('dummy').agg( Mean=('returns', np.mean), Sum=('returns', np.sum), )
此语法使用元组来指定(列,函数)对
历史解决方案:
在 pandas 的早期版本中,您可以使用以下解决方案之一:
列表函数:
df.groupby("dummy").agg({"returns": [np.mean, np.sum]})
带有函数列表的字典:
df.groupby('dummy').agg({'returns': {'Mean': np.mean, 'Sum': np.sum}})
这些早期的解决方案是仍然有效,但使用元组的第一个选项现在被认为是最佳实践。
以上是如何使用 Pandas GroupBy.agg() 将多个聚合函数应用于同一列?的详细内容。更多信息请关注PHP中文网其他相关文章!