07_統計方法

數學和統計方法

在這些方法中,布爾值中的 TrueFalse 會被相應地轉換爲 10 參與計算

import numpy as np

arr = np.array([[np.NaN, 0, 1, 2, 3],
                [ 4, 5, np.NaN, 6, 7],
                [ 8, 9, 10, np.NaN, 11]])
arr
>>> array([[nan,  0.,  1.,  2.,  3.],
           [ 4.,  5., nan,  6.,  7.],
           [ 8.,  9., 10., nan, 11.]])

  • amin(a[, axis, out, keepdims])

    • 返回數組的最小值或沿軸的最小值

  • amax(a[, axis, out, keepdims])

    • 返回數組的最大值或沿軸的最大值

      np.amin(arr)
      
      >>> nan
      
      np.amax(arr)
      
      >>> nan
      

  • nanmin(a[, axis, out, keepdims])

    • 返回數組的最小值或沿軸的最小值,忽略任何NAN

  • nanmax(a[, axis, out, keepdims])

    • 返回數組的最大值或沿軸方向的最大值,忽略任何NAN

      np.nanmax(arr) # 默認是計算flatten之後的數組,可以指定axis參數 0/1
      
      >>> 11.0
      
      np.nanmax(arr,0)
      
      >>> array([ 8.,  9., 10.,  6., 11.])
      
      np.nanmax(arr,1)
      
      >>> array([ 3.,  7., 11.])
      
      np.nanmin(arr)
      
      >>> 0.0
      

  • median(a[, axis, out, overwrite_input, keepdims])
    • 沿指定軸計算中值

      np.median(arr)
      
      >>> nan
      
      np.median(arr, 0)
      
      >>> array([nan,  5., nan, nan,  7.])
      
      np.median(arr, 1)
      
      >>> array([nan, nan, nan])
      

  • nanmedian(a[, axis, out, overwrite_input, …])
    • 在忽略NAS的情況下,沿指定的軸計算中值

      np.nanmedian(arr) # 中位數
      
      >>> 5.5
      
      np.nanmedian(arr, 0)
      
      >>> array([6. , 5. , 5.5, 4. , 7. ])
      
      np.nanmedian(arr, 1)
      
      >>> array([1.5, 5.5, 9.5])
      

  • average(a[, axis, weights, returned])
    • 計算沿指定軸的加權平均

      arr1 = np.array([[2, 2, 2, 2, 2],
                      [ 3, 3, 3, 3, 3],
                      [ 4, 4, 4, 4, 4]])
      np.average(arr, weights=arr1)
      
      >>> nan
      
      np.average(arr, weights=arr1 ,axis=0)
      
      >>> array([ nan, 5.66666667, nan, nan, 7.88888889])
      
      np.average(arr, weights=arr1 ,axis=1)
      
      >>> array([nan, nan, nan])
      

  • mean(a[, axis, dtype, out, keepdims])
    • 沿指定的軸計算算術平均值

      np.mean(arr) # 平均值
      
      >>> nan
      
  • nanmean(a[, axis, dtype, out, keepdims])
    • 計算沿指定軸的算術平均值,忽略NAN

      np.nanmean(arr) # 平均值
      
      >>> 5.5
      
      np.nanmean(arr,0) 
      
      >>> array([6.        , 4.66666667, 5.5       , 4.        , 7.        ])
      
      np.nanmean(arr,1)
      
      >>> array([1.5, 5.5, 9.5])
      

  • std(a[, axis, dtype, out, ddof, keepdims])
    • 計算沿指定軸的標準偏差

      np.std(arr) # 標準差
      
      >>> nan
      
  • nanstd(a[, axis, dtype, out, ddof, keepdims])
    • 計算指定軸上的標準偏差,而忽略NAN

      np.nanstd(arr) # 標準差
      
      >>> 3.452052529534663
      
      np.nanstd(arr, 0)
      
      >>> array([2.        , 3.68178701, 4.5       , 2.        , 3.26598632])
      
      np.nanstd(arr, 1)
      
      >>> array([1.11803399, 1.11803399, 1.11803399])
      

  • var(a[, axis, dtype, out, ddof, keepdims])

    • 計算沿指定軸的方差

      np.var(arr) # 方差
      
      >>> nan
      
  • nanvar(a[, axis, dtype, out, ddof, keepdims])

    • 計算指定軸上的方差,同時忽略NAN

      np.nanvar(arr) # 方差
      
      >>> 11.916666666666666
      

布爾值 TrueFalse 會被轉爲 10 參與計算

bool_arr = np.array([0.7, 0, 0.5, True, False, True, True, True, False, True])
bool_arr.sum()
>>> 6.2

arr2 = np.array([0.1, 0.2, 0.3, True, False])
np.amax(arr2)
np.amin(arr2)
>>> 1.0
>>> 0.0
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章