
Dans NumPy, pour un tableau ndarray contenant la valeur manquante np.nan, np.sum() renvoie np.nan. Vous pouvez calculer la somme des valeurs en excluant la valeur manquante np.nan avec np.nansum().
Non seulement np.nansum() mais aussi np.nanmean(), np.nanmax(), np.nanmin(), np.nanstd() et np.nanvar() sont fournis. Vous pouvez calculer la moyenne, le maximum, le minimum, l’écart type et la variance, en ignorant la valeur manquante np.nan.
Consultez l’article suivant pour savoir comment remplacer np.nan ou supprimer des lignes ou des colonnes contenant np.nan.
Utilisez le fichier CSV suivant avec des données manquantes.
import numpy as np
arr = np.genfromtxt('data/src/sample_nan.csv', delimiter=',')
print(arr)
# [[ 11. 12. nan 14.]
# [ 21. nan nan 24.]
# [ 31. 32. 33. 34.]]
Utilisez np.nansum() pour ndarray contenant la valeur manquante np.nan
Pour ndarray contenant la valeur manquante np.nan, la fonction np.sum() ou la méthode sum() de ndarray renvoie np.nan.
print(arr.sum())
# nan
print(np.sum(arr))
# nan
np.nansum() renvoie la somme des valeurs à l’exclusion de np.nan.
print(np.nansum(arr))
# 212.0
Comme avec sum(), vous pouvez également calculer des sommes le long de lignes ou de colonnes en définissant le paramètre axis.
print(np.nansum(arr, axis=0))
# [ 63. 44. 33. 72.]
print(np.nansum(arr, axis=1))
# [ 37. 45. 130.]
Notez que nansum() n’est pas fourni comme méthode de ndarray.
np.nanmean(), np.nanmax(), np.nanmin(), np.nanstd() et np.nanvar()
Non seulement np.nansum() mais aussi np.nanmean(), np.nanmax(), np.nanmin(), np.nanstd() et np.nanvar() sont fournis.
Vous pouvez calculer la moyenne, le maximum, le minimum, l’écart type et la variance, en ignorant la valeur manquante np.nan.
print(np.nanmean(arr))
# 23.5555555556
print(np.nanmax(arr))
# 34.0
print(np.nanmin(arr))
# 11.0
print(np.nanstd(arr))
# 8.90831211237
print(np.nanvar(arr))
# 79.3580246914