考虑一些示例熊猫数据集:
df = pd.DataFrame([[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[0, 0, 0]],
columns=['A', 'B', 'C'])
现在,我想聚合我想排除零的每一列(比如计算平均值)。我可以看到可以调用 agg
函数,但我不知道如何在计算平均值时排除零。
我知道在映射列时,我需要以某种方式过滤掉零,但我不知道如何将其包含在对 df.agg()
函数的调用中。
答案 0 :(得分:3)
将 0 替换为 np.nan
以便您可以调用您的 agg 函数
df.replace(0,np.nan).agg(np.mean)
答案 1 :(得分:1)
您可以使用方法 where
和 mask
将零替换为 NaN
:
df.where(df!=0).agg('mean')
或
df.mask(df==0).agg('mean')
输出:
A 4.0
B 5.0
C 6.0