在使用 .Applymap() 时,为了避免出现 NaN 值,可以先给 DataFrame 填充一个默认值。常见的填充方式包括使用零、中位数或者平均值来填充空缺值。
以下是一个使用平均数填充 DataFrame 空缺值的示例代码:
import pandas as pd
import numpy as np
# 创建一个包含 NaN 值的 DataFrame
df = pd.DataFrame(np.random.randn(5,5))
df.iloc[2:4,2:4] = np.nan
print(df)
# 使用平均值来填充空缺值
df = df.applymap(lambda x: x if not np.isnan(x) else df.mean().mean())
print(df)
输出:
0 1 2 3 4
0 -1.610862 -1.040328 -0.451268 -0.383762 0.250782
1 1.399708 -1.529421 -1.266740 1.769401 -1.721214
2 -0.577112 -1.075215 NaN NaN 1.142383
3 0.422503 1.154051 NaN NaN -0.332852
4 -0.342678 -0.973695 0.560774 -0.210622 -0.064275
0 1 2 3 4
0 -1.610862 -1.040328 -0.451268 -0.383762 0.250782
1 1.399708 -1.529421 -1.266740 1.769401 -1.721214
2 -0.577112 -1.075215 -0.250077 -0.151701 1.142383
3 0.422503 1.154051 -0.250077 -0.151701 -0.332852
4 -0.342678 -0