我有一个多个值为零的数据框。
我想用该列的平均值替换零值,而无需重复代码。
我有一个称为运行时,预算和收入的列,它们全为零,我想用该列的平均值替换那些零值。

我曾尝试一次在同一列上执行此操作:

    print(df['budget'].mean())
    -> 14624286.0643
    df['budget'] = df['budget'].replace(0, 14624286.0643)

他们是否有编写函数的方式,而不必为所有列的每个零值多次编写代码?

最佳答案

所以这是pandas数据帧,我将使用mask将所有0变为np.nan,然后是fillna

df=df.mask(df==0).fillna(df.mean())

关于python - Pandas :如何用该列的平均值替换一列中的零值,对于所有具有零值的列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55319655/

10-12 18:16