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


Python numpy MaskedArray.ptp用法及代碼示例


本文簡要介紹 python 語言中 numpy.ma.MaskedArray.ptp 的用法。

用法:

ma.MaskedArray.ptp(axis=None, out=None, fill_value=None, keepdims=False)

沿給定維度(即 peak-to-peak 值)返回(最大值 - 最小值)。

警告

numpy.ptp保留數組的數據類型。這意味著具有 n 位的有符號整數輸入的返回值(例如np.int8,np.int16, etc) 也是一個有 n 位的有符號整數。在這種情況下,peak-to-peak 值大於2**(n-1)-1將返回負值。下麵顯示了解決方法的示例。

參數

axis {無,整數},可選

沿其查找峰的軸。如果 None (默認)使用扁平數組。

out {無,數組},可選

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

fill_value 標量或無,可選

用於填充掩碼值的值。

keepdims 布爾型,可選

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

返回

ptp 數組。

保存結果的新數組,除非指定了 out,在這種情況下,將返回對 out 的引用。

例子

>>> x = np.ma.MaskedArray([[4, 9, 2, 10],
...                        [6, 9, 7, 12]])
>>> x.ptp(axis=1)
masked_array(data=[8, 6],
             mask=False,
       fill_value=999999)
>>> x.ptp(axis=0)
masked_array(data=[2, 0, 5, 2],
             mask=False,
       fill_value=999999)
>>> x.ptp()
10

此示例顯示當輸入是有符號整數數組時可以返回負值。

>>> y = np.ma.MaskedArray([[1, 127],
...                        [0, 127],
...                        [-1, 127],
...                        [-2, 127]], dtype=np.int8)
>>> y.ptp(axis=1)
masked_array(data=[ 126,  127, -128, -127],
             mask=False,
       fill_value=999999,
            dtype=int8)

解決方法是使用 view() 方法將結果視為具有相同位寬的無符號整數:

>>> y.ptp(axis=1).view(np.uint8)
masked_array(data=[126, 127, 128, 129],
             mask=False,
       fill_value=999999,
            dtype=uint8)

相關用法


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