numpy.nansum
-
numpy.nansum(a, axis=None, dtype=None, out=None, keepdims=0)[source] -
Возвращает сумму элементов массива по заданной оси, обрабатывая значения Not a Number (NaN) как ноль.
В версиях Numpy ≤ 1.8 для срезов, которые состоят только из NaN или пустые, возвращается Nan. В более поздних версиях возвращается ноль.
Параметры: a : array_like
Массив, содержащий числа, сумма которых требуется. Если
aне является массивом, выполняется попытка преобразования.axis : int, необязательно
Ось, по которой вычисляется сумма. По умолчанию вычисляется сумма сплющенного массива.
dtype : тип данных, необязательно
Тип возвращаемого массива и аккумулятора, в котором суммируются элементы. По умолчанию используется тип данных
a. Исключением является случай, когдаaимеет целочисленный тип с меньшей точностью, чем платформа (u)intp. В этом случае значение по умолчанию будет либо (u)int32, либо (u)int64, в зависимости от того, 32 или 64 бита платформа. Для неточных входных данных dtype должен быть неточным.Новое в версии 1.8.0.
out : ndarray, необязательно
Альтернативный массив вывода, в который помещается результат. Значение по умолчанию —
None. Если задано, оно должно иметь такую же форму, как ожидаемый результат, но тип будет преобразован при необходимости. Смотритеdoc.ufuncsдля подробностей. Преобразование NaN в целое число может привести к неожиданным результатам.Новое в версии 1.8.0.
keepdims : bool, необязательно
Если True, оси, которые были уменьшены, остаются в результате в виде измерений с размером один. С этим параметром результат будет корректно транслироваться к исходному
arr.Новое в версии 1.8.0.
Возвращает: y : ndarray или numpy скаляр
См. также
Примечания
Если присутствуют как положительная, так и отрицательная бесконечность, сумма будет Not A Number (NaN).
Целочисленная арифметика Numpy является модульной. Если размер суммы превышает размер целочисленного аккумулятора, его значение будет переходить за пределы и результат будет неверным. Указание
dtype=doubleможет решить эту проблему.Примеры
>>> np.nansum(1) 1 >>> np.nansum([1]) 1 >>> np.nansum([1, np.nan]) 1.0 >>> a = np.array([[1, 1], [1, np.nan]]) >>> np.nansum(a) 3.0 >>> np.nansum(a, axis=0) array([ 2., 1.]) >>> np.nansum([1, np.nan, np.inf]) inf >>> np.nansum([1, np.nan, np.NINF]) -inf >>> np.nansum([1, np.nan, np.inf, -np.inf]) # both +/- infinity present nan
© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.11.0/reference/generated/numpy.nansum.html