Accès aux Données

En général, la meilleure façon d'accéder aux données d'une Series ou d'un DataFrame est d'utiliser les indexeurs loc et iloc. Bien que le découpage de tableau puisse être utilisé, il est plus efficace d'utiliser ces indexeurs. L'accès aux objets Series et DataFrame à l'aide de ces opérations d'indexation est plus efficace que le découpage, car l'indexation par crochets doit vérifier de nombreux cas avant de pouvoir déterminer comment découper la structure de données.

L'utilisation de loc ou iloc contourne explicitement ces vérifications supplémentaires.

  • L'index loc sélectionne les lignes et les colonnes en fonction de leurs étiquettes,
  • L'index iloc les sélectionne en fonction de leur position entière.

Avec ces indexeurs, les premier et deuxième arguments font respectivement référence aux lignes et aux colonnes, tout comme le découpage de tableau.

# Utilisez loc pour sélectionner les moyennes des mathématiques de Etu2 et Etu4
print(L3.loc[['Etu2', 'Etu4'],'Math'])
print("==========================================")

# Utilisez iloc pour sélectionner les moyennes des mathématiques de Etu2 et Etu4
print(L3.iloc[[1,3],0])
print("==========================================")
Etu2    1.78
Etu4    4.35
Name: Math, dtype: float64
==========================================
Etu2    1.78
Etu4    4.35
Name: Math, dtype: float64
==========================================

Pour accéder à une colonne entière d'un DataFrame, la méthode la plus efficace consiste à utiliser uniquement des crochets et le nom de la colonne, sans l'indexeur. Cette syntaxe peut également être utilisée pour créer une nouvelle colonne ou réinitialiser les valeurs d'une colonne entière.

# Afficher toutes les moyennes de la matière physique
print(L3['Phys'])
print("==========================================")

# Créer une nouvelle colonne appelée Stat où tout le monde ait un 15
L3['Stat'] = 15
print(L3)
print("==========================================")
Etu1    17.24
Etu2     7.63
Etu3     2.75
Etu4    15.40
Name: Phys, dtype: float64
==========================================
       Math   Phys  Stat
Etu1  11.61  17.24    15
Etu2   1.78   7.63    15
Etu3  13.95   2.75    15
Etu4   4.35  15.40    15
==========================================

Les ensembles de données peuvent souvent être très volumineux et donc difficiles à visualiser. Pandas dispose de diverses méthodes pour faciliter cette tâche:

  • La méthode head affiche les n premières lignes.
  • La méthode tail affiche les n dernières, où n est par défaut égal à 5.
  • La méthode sample tirera n entrées aléatoires de l'ensemble de données, où n est par défaut égal à 1.
# Affichage des 2 premières lignes
print(L3.head(2))
print("==========================================")

# Affichage des 2 dernières lignes
print(L3.tail(2))
print("==========================================")

# Affichage d'un résultat aléatoirement 
print(L3.sample())
print("==========================================")
       Math   Phys  Stat
Etu1  11.61  17.24    15
Etu2   1.78   7.63    15
==========================================
       Math   Phys  Stat
Etu3  13.95   2.75    15
Etu4   4.35  15.40    15
==========================================
      Math  Phys  Stat
Etu4  4.35  15.4    15
==========================================

Il peut également être utile de réorganiser les colonnes ou les lignes ou de trier selon une colonne donnée.

# Réorganiser les colonnes (changer l'ordre des colonnes)
L3 = L3.reindex(columns=["Stat", "Math", "Phys"])
print(L3)
print("==========================================")
# Trier par ordre décroissant selon les notes en mathématiques
L3 = L3.sort_values('Math', ascending = False)
print(L3)
print("==========================================")
      Stat   Math   Phys
Etu1    15  11.61  17.24
Etu2    15   1.78   7.63
Etu3    15  13.95   2.75
Etu4    15   4.35  15.40
==========================================
      Stat   Math   Phys
Etu3    15  13.95   2.75
Etu1    15  11.61  17.24
Etu4    15   4.35  15.40
Etu2    15   1.78   7.63
==========================================

D'autres méthodes utilisées pour manipuler les structures DataFrame et Series panda peuvent être trouvées:

MéthodeDescription
append() Concaténer deux ou plusieurs séries
drop() Supprimer les entrées avec l'étiquette ou les étiquettes spécifiées
drop_duplicates() Supprimer les valeurs en double
dropna() Supprimer les entrées nulles
fillna() Remplacer les entrées nulles par une valeur ou une stratégie spécifiée
reindex() Remplacer l'index
sample() Afficher une entrée aléatoire
shift() Décaler l'index
unique() Renvoyer des valeurs uniques
Modifié le: lundi 25 novembre 2024, 08:50