【发布时间】:2021-06-28 21:11:25
【问题描述】:
我想使用自定义函数沿轴聚合 Pandas DataFrame,但无法确定该函数应返回什么。
df = pd.DataFrame(np.arange(50).reshape(10,5))
您可以将 numpy 函数传递给DataFrame.agg:
# Case 1
df.agg([np.mean], axis=1)
你会得到你所期望的:一个像 df 一样索引的 DataFrame,但只有一列:'mean'。 但由于某种原因,以下行为完全不同:
# Case 2
df.agg([lambda x:np.mean(x)], axis=1)
甚至
# Case 3
def f(x, **kwargs):
return np.mean(x, **kwargs)
df.agg([f], axis=1)
为什么后两种的工作方式与第一种不同?
【问题讨论】:
标签: pandas aggregation