Sto importando un file csv simile a quello qui sotto. Utilizzo di pandas.read_csvConverti virgole in punti in un Dataframe
df = pd.read_csv(Input, delimiter=";")
. . .
10; 2015/02/01 16: 58; 2015/02/01 16: 58; -0.59; 0,1; -4,39; notApplicable; 0,79; 0,2
11; 2015/02/01 16: 58; 16 2015/02/01 : 58; -0.57; 0.2; -2.87; NotApplicable; 0.79; 0.21
. . .
Il problema è che quando più avanti nel mio codice provo a usare questi valori ottengo questo errore: TypeError: impossibile moltiplicare la sequenza per non-int di tipo 'float'.
Viene visualizzato questo errore perché il numero che cerco di utilizzare non è scritto con un punto (.) Come separatore decimale ma una virgola (,). Dopo aver modificato manualmente le virgole in punti, il mio programma funziona.
Non riesco a modificare il formato del mio input, e quindi devo sostituire le virgole nel mio DataFrame per far funzionare il mio codice, e voglio che python lo faccia senza la necessità di farlo manualmente. Hai qualche suggerimento?
Hai provato 'df = pd.read_csv (" data.csv ", decimal =", ", delimiter ="; ")' –
No, non l'ho provato, abbastanza nuovo per Python. Mi piace provarlo :) – Nautilius
Spiacente, non capisco che il tuo csv sia formattato usando i punti decimali quindi dovrebbe entrare come float, puoi mostrare al tuo codice che non piace il float dtype, puoi cambiare il dtype usando 'astype (int)' sulla colonna – EdChum