Panda: come aggiornare i valori nelle righe
È possibile utilizzare la seguente sintassi di base per aggiornare i valori in un DataFrame panda durante l’utilizzo degli iterrows :
for i, row in df. iterrows ():
points_add = 10
if row[' points '] > 15:
points_add = 50
df. at [i,' points '] = points_add
Questo particolare esempio scorre ogni riga di un DataFrame e aggiorna il valore nella colonna punto a 50 se il valore è attualmente maggiore di 15.
Se il valore corrente è inferiore o uguale a 15, il valore viene aggiornato a 10 .
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: aggiorna i valori in Pandas DataFrame in righe
Supponiamo di avere il seguente DataFrame panda che mostra il numero di punti segnati da diversi giocatori di basket:
import pandas as pd #createDataFrame df = pd. DataFrame ({' player ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'], ' points ': [10, 12, 14, 15, 15, 15, 16, 17, 20]}) #view DataFrame print (df) player points 0 to 10 1 B 12 2 C 14 3 D 15 4 E 15 5 F 15 6 G 16 7:17 a.m. 8 I 20
Diciamo di voler aggiornare i valori nella colonna punti utilizzando la seguente logica:
- Se i punti sono inferiori o uguali a 15, aggiorna il valore in 10 .
- Se i punti sono maggiori di 15, aggiorna il valore a 50 .
Possiamo utilizzare la funzione iterrows per scorrere ogni riga del DataFrame e apportare questi aggiornamenti:
#iterate over each row in DataFrame and update values in points column
for i, row in df. iterrows ():
points_add = 10
if row[' points '] > 15:
points_add = 50
df. at [i,' points '] = points_add
#view updated DataFrame
print (df)
player points
0 to 10
1 B 10
2 C 10
3 D 10
4 E 10
5 F 10
6 G 50
7:50 a.m.
8 I 50
Possiamo vedere che i valori nella colonna dei punti sono stati aggiornati di conseguenza.
Nota : puoi trovare la documentazione completa per la funzione pandas iterrows() qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni nei panda:
Panda: come navigare tra le colonne
Panda: come selezionare le righe tra due valori
Panda: aggiorna i valori delle colonne in base a un altro DataFrame