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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *