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.10.1/reference/generated/numpy.nansum.html