将缺失值用均值替换
# 将nan值替换成每列均值
arr6 = np.arange(36, dtype="float").reshape(6, 6)
print(arr6)
# 将部分值修改成np.nan
arr6[3, 2:] = np.nan
print(arr6)
# 将np.nan的值替换成该列的均值
num_col = arr6.shape[1]
print(num_col)
for i in range(num_col):
# 获取当前列
now_col = arr6[:, i]
# print(now_col)
# 判断该列是否存在np.nan
num = np.count_nonzero(now_col != now_col)
if num != 0:
# 获取非nan的值
now_col_not_nan = now_col[now_col == now_col]
# print(now_col_not_nan)
# 将nan的值替换
now_col[now_col!=now_col] = np.mean(now_col_not_nan)
print(arr6)
浙公网安备 33010602011771号