Ho un set di dati molto grande se volevo sostituire stringhe con numeri. Mi piacerebbe operare sul set di dati senza digitare una funzione di mappatura per ogni chiave (colonna) nel set di dati. (simile al metodo fillna, ma sostituire la stringa specifica con il valore asserito). C'è comunque qualcosa da fare?sostituisce stringa/valore nell'intero dataframe
Ecco un esempio del mio set di dati
data
resp A B C
0 1 poor poor good
1 2 good poor good
2 3 very good very good very good
3 4 bad poor bad
4 5 very bad very bad very bad
5 6 poor good very bad
6 7 good good good
7 8 very good very good very good
8 9 bad bad very bad
9 10 very bad very bad very bad
Il risultato desiderato:
data
resp A B C
0 1 3 3 4
1 2 4 3 4
2 3 5 5 5
3 4 2 3 2
4 5 1 1 1
5 6 3 4 1
6 7 4 4 4
7 8 5 5 5
8 9 2 2 1
9 10 1 1 1
molto male = 1, Bad = 2, povero = 3, buono = 4, molto bene = 5
// Jonas
Questo non sta lavorando in 0.20.1. Vedi http://pandas.pydata.org/pandas-docs/version/0.20/generated/pandas.DataFrame.replace.html?highlight=replace# per la nuova sintassi. –
Sopra con una variazione minore dovrebbe funzionare df.replace (['very bad', 'bad', 'poor', 'good', 'very good'], [1, 2, 3, 4, 5] , inplace = True) –