三列数据dataframe,相对三列数据求平均值得到新的列,但是每一列都有空值,我们在求平均值的时候,如果都是空值则还是空值,如果不全为空,则对不为空的列进行求平均。
import pandas as pd
import numpy as np
# 创建包含三列数据的DataFrame
data = {'Column1': [1, 2, np.nan, 4],
'Column2': [np.nan, 2, 3, 4],
'Column3': [1, np.nan, 3, 4]}
df = pd.DataFrame(data)
# 计算每一行的平均值,忽略空值
df['Average'] = df.mean(axis=1, skipna=True)
# 如果希望空值保持为空值而不是变成0,可以使用下面的代码:
# df['Average'] = df.apply(lambda row: row.mean(skipna=True), axis=1)
# 打印结果
print(df)
在这个示例中,skipna=True参数确保在计算平均值时跳过空值。如果某一行的所有列都是空值,结果列中将保留空值。如果你想将空值替换为0,可以使用注释中提供的代码。