- array.flattern()---展开成一维数组
- array.dtype
- array.astype()---改变数组类型
- array.where(条件,true,false)
- array.clip(min,max)
- array.mean()---均值
- array.std()---标准差
- np.round(array,小数点位数)
- np.vstack(arr1,arr2)
- np.hstack(arr1,arr2)
- np.argmax(arr,axis)---axis=0的时候取列里最大值的位置,axis=1的时候取行里最大值的位置
- np.argmin(arr,axis)
- np.count_nonzero(arr!=arr)---统计数组中nan的个数
- np.median()---中位数
- np.ptp()---极值
- 0/0=nan
- 非0/0=inf
- 两个np.nan不相等
- 复制数据会相互影响 a=b a=b[:]
- 数据不会相互影响 a=b.copy()
In [1]:
import numpy as np
In [2]:
t = np.arange(15).reshape(3,5).astype(np.float)
t[1,2:] = np.nan
print(t)
In [3]:
#将每列的nan改为每列的平均值
for i in range(t.shape[1]):
temp_col = t[:,i]
#判断是否存在nan
nan_num = np.count_nonzero(temp_col != temp_col)
if nan_num:
#取出每列中不为nan的值
no_nan_array = temp_col[temp_col == temp_col]
#给nan赋值
temp_col[np.isnan(temp_col)] = no_nan_array.mean()
print(t)