np.nan的判定
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2e2d6aacd43780738b3f37df2f0e3954.png)
np.nan处理 将当前列的nan位置用平均数进行代替
jupyter notebook
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8ba5714e05107cbd30546935f9c57e34.png)
源码
def fill_ndarray(t1):
for i in range(t1.shape[1]): # 遍历每一列
temp_col = t1[:, i] # 当前的一列
nan_num = np.count_nonzero(temp_col != temp_col)
if nan_num != 0: # 不为0,说明当前这一列中有nan
temp_not_nan_col = temp_col[temp_col == temp_col] # 选中当前一列不为nan的
# 选中当前为nan的位置,把当前一列不为nan的数求平均值后,填充在nan的位置
temp_col[np.isnan(temp_col)] = temp_not_nan_col.mean()
return t1
if __name__ == '__main__':
t1 = np.arange(12).reshape((3, 4)).astype("float")
t1[1, 2:] = np.nan
print(t1)
print("*" * 100)
t1 = fill_ndarray(t1)
print(t1)