Pandas如何解析df.agg中name指定的函数

问题描述 投票:0回答:1

我正在学习Pandas和Numpy,目前正在通过本教程的this section。我完全是Python的新手,所以这可能是一个基本的初学者问题。

鉴于此数据框架:

df = pd.DataFrame(np.random.randn(4, 3), columns=['A', 'B', 'C'],
                      index=pd.date_range('1/1/2000', periods=4))
df.iloc[3:7] = np.nan

我无法解释df.agg的以下结果之间的区别:

致电1:

df.agg(sum)

#Result:
A   NaN
B   NaN
C   NaN
dtype: float64

电话2:

df.agg('sum')

#Result:
A   -1.776752
B   -2.070156
C   -0.124162
dtype: float64

df.agg('sum')的结果与df.agg(np.sum)df.sum()的结果相同。我期望df.agg('sum')产生与df.agg(sum)相同的结果。

Pandas是否有特殊的逻辑来解决这些功能,以便它更喜欢np.sum(或运行df.sum)而不是内置的sum

python pandas
1个回答
2
投票

在您链接到的文档中,它说:

您还可以将命名方法作为字符串传递。

因此,字符串将被解析为DataFrame上的方法名称(如果在系列上调用agg,则为系列)。

© www.soinside.com 2019 - 2024. All rights reserved.