熊猫:聚合时排除零

时间:2021-01-21 21:18:46

标签: python pandas

考虑一些示例熊猫数据集:

df = pd.DataFrame([[1, 2, 3],
                   [4, 5, 6],
                   [7, 8, 9],
                   [0, 0, 0]],
                   columns=['A', 'B', 'C'])

现在,我想聚合我想排除零的每一列(比如计算平均值)。我可以看到可以调用 agg 函数,但我不知道如何在计算平均值时排除零。

我知道在映射列时,我需要以某种方式过滤掉零,但我不知道如何将其包含在对 df.agg() 函数的调用中。

2 个答案:

答案 0 :(得分:3)

将 0 替换为 np.nan 以便您可以调用您的 agg 函数

df.replace(0,np.nan).agg(np.mean)

答案 1 :(得分:1)

您可以使用方法 wheremask 将零替换为 NaN

df.where(df!=0).agg('mean')

df.mask(df==0).agg('mean')

输出:

A    4.0
B    5.0
C    6.0