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


Python numpy ptp用法及代碼示例


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

用法:

numpy.ptp(a, axis=None, out=None, keepdims=<no value>)

沿軸的值範圍(最大值 - 最小值)。

該函數的名稱來自“peak to peak”的首字母縮寫詞。

警告

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

參數

a array_like

輸入值。

axis 無或int 或整數元組,可選

沿其查找峰的軸。默認情況下,展平數組。軸可能是負數,在這種情況下,它從最後一個軸計數到第一個軸。

如果這是一個整數元組,則在多個軸上執行歸約,而不是像以前那樣在單個軸或所有軸上執行。

out array_like

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

keepdims 布爾型,可選

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

如果傳遞了默認值,那麽保持昏暗不會被傳遞到ptp子類的方法numpy.ndarray,但是任何非默認值都是。如果sub-class' 方法沒有實現保持昏暗將引發任何異常。

返回

ptp ndarray

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

例子

>>> x = np.array([[4, 9, 2, 10],
...               [6, 9, 7, 12]])
>>> np.ptp(x, axis=1)
array([8, 6])
>>> np.ptp(x, axis=0)
array([2, 0, 5, 2])
>>> np.ptp(x)
10

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

>>> y = np.array([[1, 127],
...               [0, 127],
...               [-1, 127],
...               [-2, 127]], dtype=np.int8)
>>> np.ptp(y, axis=1)
array([ 126,  127, -128, -127], dtype=int8)

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

>>> np.ptp(y, axis=1).view(np.uint8)
array([126, 127, 128, 129], dtype=uint8)

相關用法


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