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.]]
相關文章
相關標籤/搜索