values replacing example data column change python replace dataframe pandas

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