python - replacing - replace values dataframe column pandas
reemplazar cadena/valor en todo el marco de datos (2)
Tengo un conjunto de datos muy grande si quiero reemplazar cadenas con números. Me gustaría operar en el conjunto de datos sin escribir una función de mapeo para cada clave (columna) en el conjunto de datos. (similar al método fillna, pero reemplace una cadena específica con un valor asignado). ¿Hay alguna forma de hacer esto?
Aquí hay un ejemplo de mi conjunto de datos
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
El resultado deseado:
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
muy malo = 1, malo = 2, pobre = 3, bueno = 4, muy bueno = 5
// Jonas
Teniendo en cuenta que los data
son su pandas DataFrame
, también puede usar:
data.replace({''very bad'': 1, ''bad'': 2, ''poor'': 3, ''good'': 4, ''very good'': 5}, inplace=True)
Utilice replace
In [126]: df.replace([''very bad'', ''bad'', ''poor'', ''good'', ''very good''],
[1, 2, 3, 4, 5])
Out[126]:
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