nan和inf替换成0
import numpy as np
a = np.array([[np.nan, np.nan, 1, 2], [np.inf, np.inf, 3, 4], [1, 1, 1, 1], [2, 2, 2, 2]])
print (a)
where_are_nan = np.isnan(a)
where_are_inf = np.isinf(a)
#nan替换成0,inf替换成nan
a[where_are_nan] = 0
a[where_are_inf] = 0
print(a)
参考:https://blog.youkuaiyun.com/helei001/article/details/53066317
nan值替换成每列的均值
# coding=utf-8
import numpy as np
def fill_ndarray(t1):
for i in range(t1.shape[1]): # 遍历每一列(每一列中的nan替换成该列的均值)
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_