[Python] Modificare i valori di una colonna di un file csv
Paolo Di Ieso
paolodiieso a libero.it
Mar 16 Maggio 2017 16:31:21 CEST
Ciao a tutti. Ho appena iniziato con Pandas e ho una gran confusione in
testa, provo a spiegarmi meglio.
In due dataframe ho il contenuto di due file CSV, entrambi con un header
e qualche decina di colonne. Iterando sulle righe di entrambi voglio
modificare il 1° file in modo tale che quando un valore della colonna
"srvid" del 1° file coincide con il valore dell'omonima colonna "srvid"
del 2° file, nella colonna "srvid" del 1° file metto il valore preso
dalla colonna "srvname" del 2°. Un esempio:
Situazione iniziale 1° file:
srvid
42
63
63
63
42
42
Situazione iniziale 2° file:
srvid srvname
42 HOTSPOT
43 WiFi 6M
44 WiFi 8M
Situazione 1° file dopo le modifiche:
srvid
HOTSPOT
63
63
63
HOTSPOT
HOTSPOT
Tutti i valori 42 della colonna "srvid" del 1° file sono stati
sostituiti dal valore "HOTSPOT" trovato in "srvname" del 2° file quando
l'adiacente "srvid" ha anch'essa valore 42. Ho iniziato scrivendo
df = pd.read_csv(rm_users_in, sep=";",
usecols=rm_users_to_o4w_column.keys(),
dtype={"zip": object} # fix value from 50015.0 to 50015
)
df2 = pd.read_csv(rm_services_in, sep=";",
usecols=rm_services_to_o4w_column.keys()
)
for row in df.itertuples():
for row2 in df2.itertuples():
if row.srvid == row2.srvid:
row["srvid"] = row2.srvname
ma dal traceback non credo di essere sulla strada giusta! :-D
M'indicate la direzione giusta?
Grazie mille.
Paolo
Maggiori informazioni sulla lista
Python