numpy基础学习

 
  • 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)
 
[[ 0.  1.  2.  3.  4.]
 [ 5.  6. nan nan nan]
 [10. 11. 12. 13. 14.]]
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)
 
[[ 0.  1.  2.  3.  4.]
 [ 5.  6.  7.  8.  9.]
 [10. 11. 12. 13. 14.]]
原文地址:https://www.cnblogs.com/FinnChan/p/11604912.html