Manipulation des Données
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
'Stat'] = 15
L3[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.reindex(columns=["Stat", "Math", "Phys"])
L3 print(L3)
print("==========================================")
# Trier par ordre décroissant selon les notes en mathématiques
= L3.sort_values('Math', ascending = False)
L3 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éthode | Description |
---|---|
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 |