La stanchezza, ero sicuro di aver creato ex-novo l'email. Riprovo come consigliato da Gollum! ;)

Dicevo che sono alle prime armi con Pandas e ho questo problema: 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 capisco di non essere sulla strada giusta. Mi date una mano a tornare sulla retta via?

Grazie mille.
Paolo
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Reply via email to