在数据帧的平均值计算中不包括空单元格



我正在从 excel 文件中读取一个值表作为熊猫数据帧,其中一些单元格是空的,因为缺少一些数据。我需要计算每行的平均值,但空单元格被读取为零,因此包含在计算中,这是误导性的。如何在不包括空单元格的情况下计算平均值?我发现只有当表被读取为字符串表时,空单元格才能被读取为"Nan",但我需要数字。有什么帮助吗?

谢谢!

任何 NaN 值都不应计入平均值。尝试用np.nan替换缺失值,然后重复均值计算。如果它们当前为零,请尝试:

df.replace(0.0, np.nan, inplace=True)
df.mean()

这就是用零替换空单元格的方法。

>>> df = pd.DataFrame(dict(A=['2', 'hello'], B=['', '3']))
>>> df
A  B
0      2
1  hello  3
>>> def convert_fill(df):
...     return df.stack().apply(pd.to_numeric, errors='ignore').fillna(0).unstack()
...
>>> convert_fill(df)
A  B
0      2  0
1  hello  3

df[~pd.isnull(df(] 真的很棒,它只得到非空单元格。

>>> print(df[~pd.isnull(df)])
A  B
0      2
1  hello  3

最新更新