Tableaux masqués #
Les tableaux masqués dans NumPy te permettent de travailler avec des données dont certains éléments sont invalides ou manquants. Un masque est un tableau booléen qui indique quels éléments doivent être considérés comme valides et lesquels doivent être masqués (invalides ou manquants).
Les tableaux masqués te permettent d’effectuer des opérations sur des données valides tout en ignorant les éléments masqués.
import numpy as np
import numpy.ma as ma
# Ensemble de données sur les températures avec valeurs manquantes (-999 représente les valeurs manquantes)
temperatures = np.array([22.5, 23.0, -999, 24.5, -999, 26.0, 27.2, -999, 28.5])
# Calculer la température moyenne sans tenir compte des valeurs manquantes
mean_temperature = np.mean(temperatures)
# Imprimer le résultat = -316.14
print("Température moyenne (sans traitement des valeurs manquantes) :", mean_temperature)
# Créer un masque pour les valeurs manquantes (-999)
mask = (temperatures == -999)
# Créer un tableau masqué
masked_temperatures = ma.masked_array(temperatures, mask=mask)
# Calculer la température moyenne (en excluant les valeurs manquantes)
mean_temperature = ma.mean(masked_temperatures)
# Imprimer le résultat = 25.28
print("Température moyenne (sans les valeurs manquantes) :", mean_temperature)Tableaux structurés #
Les tableaux structurés te permettent de travailler avec des données similaires à celles d’un tableau avec des colonnes nommées. Chaque élément d’un tableau structuré peut avoir différents types de données. Créer tes types de données en utilisant np.dtype et ajouter le nom de la colonne et le type de données sous la forme d’un tuple. Tu peux ensuite les passer à ton tableau.
import numpy as np
# Définir les types de données pour les champs
dt = np.dtype([('name', 'S20'), ('age', int), ('salary', float)])
# Créer un tableau structuré
employees = np.array([('Alice', 30, 50000.0), ('Bob', 25, 60000.0)], dtype=dt)
# Accède au champ 'name' du premier employé
print(employees['name'][0])
# Accède au champ "âge" de tous les employés
print(employees['age'])
