values replacing example data column change python pandas replace

python - replacing - replace values dataframe column pandas



pandas reemplazar mĂșltiples valores una columna (4)

Cadena reemplaza cada cuerda (Pequeño, Medio, Alto) por la nueva cuerda (1,5,15) /

Si dfm es el nombre del marco de datos, la columna es el nombre de la columna.

dfm.column = dfm.column.str.replace(''Small'', ''1'') dfm.column = dfm.column.str.replace(''Medium'', ''5'') dfm.column = dfm.column.str.replace(''High'', ''15'')

En una columna de niveles de riesgo, quiero reemplazar Small por 1, Medium con 5 y High con 15. Intenté:

dfm.replace({''risk'':{''Small'': ''1''}},{''risk'':{''Medium'': ''5''}},{''risk'':{''High'': ''15''}})

Pero solo el medio fue reemplazado. Qué está mal ?


Podrías definir un map dict y call

In [256]: df = pd.DataFrame({''a'':[''Small'', ''Medium'', ''High'']}) df Out[256]: a 0 Small 1 Medium 2 High [3 rows x 1 columns] In [258]: vals_to_replace = {''Small'':''1'', ''Medium'':''5'', ''High'':''15''} df[''a''] = df[''a''].map(vals_to_replace) df Out[258]: a 0 1 1 5 2 15 [3 rows x 1 columns] In [279]: val1 = [1,5,15] df[''risk''].update(pd.Series(val1)) df Out[279]: risk 0 1 1 5 2 15 [3 rows x 1 columns]


Tu formato de reemplazo está desactivado

In [21]: df = pd.DataFrame({''a'':[''Small'', ''Medium'', ''High'']}) In [22]: df Out[22]: a 0 Small 1 Medium 2 High [3 rows x 1 columns] In [23]: df.replace({''a'' : { ''Medium'' : 2, ''Small'' : 1, ''High'' : 3 }}) Out[23]: a 0 1 1 2 2 3 [3 rows x 1 columns]


In [123]: import pandas as pd In [124]: state_df = pd.DataFrame({''state'':[''Small'', ''Medium'', ''High'', ''Small'', ''High'']}) In [125]: state_df Out[125]: state 0 Small 1 Medium 2 High 3 Small 4 High In [126]: replace_values = {''Small'' : 1, ''Medium'' : 2, ''High'' : 3 } In [127]: state_df = state_df.replace({"state": replace_values}) In [128]: state_df Out[128]: state 0 1 1 2 2 3 3 1 4 3