Comment définir la valeur d’une cellule spécifique dans Pandas DataFrame
Vous pouvez utiliser la syntaxe de base suivante pour définir la valeur d’une cellule spécifique dans un DataFrame pandas :
#set value at row index 0 and column 'col_name' to be 99 df.at[0, 'col_name'] = 99
Les exemples suivants montrent comment utiliser cette syntaxe en pratique avec le DataFrame pandas suivant :
import pandas as pd #create DataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29], 'assists': [5, 7, 7, 9, 12, 9, 9, 4], 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame df points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6 5 23 9 5 6 25 9 9 7 29 4 12
Exemple 1 : Définir la valeur d’une cellule dans Pandas
Le code suivant montre comment définir la valeur de la 3ème position d’index de la colonne « points » sur 99 :
#set value in 3rd index position and 'points' column to be 99 df.at[3, 'points'] = 99 #view updated DataFrame df points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 99 9 6 4 19 12 6 5 23 9 5 6 25 9 9 7 29 4 12
Notez que la valeur dans la 3ème position d’index de la colonne « points » a été modifiée et que toutes les autres valeurs du DataFrame sont restées les mêmes.
Exemple 2 : Définir la valeur de plusieurs cellules dans Pandas
Le code suivant montre comment définir simultanément la valeur de plusieurs cellules d’une plage :
#set values in index positions 0 to 3 in 'points' column to be 99 df.at[0:3, 'points'] = 99 #view updated DataFrame df points assists rebounds 0 99 5 11 1 99 7 8 2 99 7 10 3 99 9 6 4 19 12 6 5 23 9 5 6 25 9 9 7 29 4 12
Exemple 3 : définir les valeurs de manière conditionnelle dans Pandas
Le code suivant montre comment définir les valeurs de la colonne « rebonds » sur 99 uniquement si la valeur de la colonne des points est supérieure à 20 :
#set values in 'rebounds' column to be 99 if value in points column is greater than 20
df.loc[df['points']>20, ['rebounds']] = 99
#view updated DataFrame
df
points assists rebounds
0 25 5 99
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6
5 23 9 99
6 25 9 99
7 29 4 99
Notez que chaque valeur de la colonne des rebonds a été modifiée à 99 si la valeur de la colonne des points était supérieure à 20.
Toutes les autres valeurs sont restées les mêmes.
Ressources additionnelles
Les didacticiels suivants expliquent comment exécuter d’autres fonctions courantes dans les pandas :
Comment obtenir la valeur d’une cellule à partir de Pandas DataFrame
Comment obtenir la première rangée de Pandas DataFrame
Comment obtenir la première colonne de Pandas DataFrame
Comment obtenir l’index des lignes dont la colonne correspond à la valeur dans Pandas