當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python dask.array.nanmedian用法及代碼示例


用法:

dask.array.nanmedian(a, axis=None, keepdims=False, out=None)

計算沿指定軸的中位數,同時忽略 NaN。

此文檔字符串是從 numpy.nanmedian 複製的。

可能存在與 Dask 版本的一些不一致之處。

這通過自動將縮減軸分塊為單個塊,然後在剩餘維度上調用 numpy.nanmedian 函數來工作

返回數組元素的中位數。

參數

aarray_like

可以轉換為數組的輸入數組或對象。

axis{int,int 序列,無},可選

計算中位數的一個或多個軸。默認值是沿數組的扁平版本計算中值。自版本 1.9.0 起支持一係列軸。

outndarray,可選

用於放置結果的替代輸出數組。它必須具有與預期輸出相同的形狀和緩衝區長度,但如有必要,將強製轉換(輸出的)類型。

overwrite_inputbool,可選(在 Dask 中不支持)

如果為真,則允許使用輸入數組a 的內存進行計算。輸入數組將通過調用 median 來修改。當您不需要保留輸入數組的內容時,這將節省內存。將輸入視為未定義,但它可能會完全或部分排序。默認為假。如果 overwrite_inputTrue 並且 a 還不是 ndarray ,則會引發錯誤。

keepdims布爾型,可選

如果將其設置為 True,則縮小的軸將作為尺寸為 1 的尺寸留在結果中。使用此選項,結果將針對原始 a 正確廣播。

如果這不是默認值,它將被傳遞(在空數組的特殊情況下)到底層數組的mean 函數。如果數組是 sub-class 並且 mean 沒有 kwarg keepdims 這將引發 RuntimeError。

返回

medianndarray

保存結果的新數組。如果輸入包含小於 float64 的整數或浮點數,則輸出數據類型為 np.float64 。否則,輸出的數據類型與輸入的數據類型相同。如果指定了out,則返回該數組。

注意

給定一個長度為 N 的向量 VV 的中位數是 V , V_sorted 的排序副本的中間值 - 即 V_sorted[(N-1)/2] ,當 N 是奇數並且兩個中間的平均值當N 為偶數時,V_sorted 的值。

例子

>>> a = np.array([[10.0, 7, 4], [3, 2, 1]])  
>>> a[0, 1] = np.nan  
>>> a  
array([[10., nan,  4.],
       [ 3.,  2.,  1.]])
>>> np.median(a)  
nan
>>> np.nanmedian(a)  
3.0
>>> np.nanmedian(a, axis=0)  
array([6.5, 2. , 2.5])
>>> np.median(a, axis=1)  
array([nan,  2.])
>>> b = a.copy()  
>>> np.nanmedian(b, axis=1, overwrite_input=True)  
array([7.,  2.])
>>> assert not np.all(a==b)  
>>> b = a.copy()  
>>> np.nanmedian(b, axis=None, overwrite_input=True)  
3.0
>>> assert not np.all(a==b)

相關用法


注:本文由純淨天空篩選整理自dask.org大神的英文原創作品 dask.array.nanmedian。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。