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