РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
277 of 541 menu

Функция nansum

Функция nansum из библиотеки NumPy возвращает сумму элементов массива, пропуская при этом значения NaN (Not a Number). Это полезно при работе с реальными данными, где могут встречаться пропуски. Первым параметром функция принимает массив, вторым - ось (опционально), по которой производится суммирование. Также можно указать тип данных результата через параметр dtype.

Синтаксис

np.nansum(a, axis=None, dtype=None, out=None, keepdims=False)

Пример

Давайте вычислим сумму одномерного массива, содержащего значение NaN:

import numpy as np arr = np.array([1, 2, np.nan, 4, 5]) res = np.nansum(arr) print(res)

Результат выполнения кода:

12.0

Обратите внимание: значение NaN было проигнорировано, и сумма вычислена как 1 + 2 + 4 + 5.

Пример

Теперь рассмотрим двумерный массив и вычислим сумму по строкам (оси 1):

import numpy as np arr = np.array([[1, 2, np.nan], [4, np.nan, 6], [7, 8, 9]]) res = np.nansum(arr, axis=1) print(res)

Результат выполнения кода:

[ 3. 10. 24.]

Пример

Вычислим сумму всех элементов двумерного массива, игнорируя NaN, с сохранением размерности результата (параметр keepdims):

import numpy as np arr = np.array([[1, np.nan, 3], [np.nan, 5, 6]]) res = np.nansum(arr, keepdims=True) print(res)

Результат выполнения кода:

[[15.]]

Пример

Если массив состоит только из значений NaN, функция вернёт 0:

import numpy as np arr = np.array([np.nan, np.nan, np.nan]) res = np.nansum(arr) print(res)

Результат выполнения кода:

0.0

Смотрите также

  • функцию nanmean,
    которая вычисляет среднее арифметическое, игнорируя NaN
  • функцию nanprod,
    которая вычисляет произведение элементов, игнорируя NaN
  • функцию nancumsum,
    которая вычисляет кумулятивную сумму, игнорируя NaN
  • функцию nanmax,
    которая находит максимальное значение, игнорируя NaN
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить