numpy.ma.MaskedArray.ptp
метод
-
MaskedArray.ptp(self, axis=None, out=None, fill_value=None, keepdims=False)[source] -
Возвращает (максимум - минимум) по заданной размерности (т.е. значение «пик-в-пик»).
Предупреждение
ptpсохраняет тип данных массива. Это означает, что возвращаемое значение для входных данных со знаковыми целыми числами с n битами (например,np.int8,np.int16, и т.д.) также будет знаковым целым числом с n битами. В этом случае значения «пик-в-пик», превышающие2**(n-1)-1, будут возвращены как отрицательные значения. Пример с обходным решением приведен ниже.- Параметры
-
-
axis{None, int}, optional -
Ось, по которой искать пики. Если None (по умолчанию), используется уплощенный массив.
-
out{None, array_like}, optional -
Альтернативный массив вывода, в который поместить результат. Он должен иметь такую же форму и длину буфера, как ожидаемый результат, но тип будет преобразован при необходимости.
-
fill_value{var}, optional -
Значение, используемое для заполнения маскрованных значений.
-
keepdimsbool, optional -
Если установлено в True, оси, которые были уменьшены, остаются в результате как измерения с размером один. С этим параметром результат будет корректно транслироваться по отношению к массиву.
-
- Возвращает
-
-
ptpndarray. -
Новый массив, содержащий результат, если не был указан
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)
© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.ma.MaskedArray.ptp.html