Utilice el str
método vectorizado replace
:
In [30]:
df['range'] = df['range'].str.replace(',','-')
df
Out[30]:
range
0 (2-30)
1 (50-290)
EDITAR
Entonces, si miramos lo que intentó y por qué no funcionó:
df['range'].replace(',','-',inplace=True)
de los documentos vemos esta descripción:
str o regex: str: la cadena que coincide exactamente con to_replace será reemplazada con valor
Entonces, debido a que los valores de str no coinciden, no se produce ningún reemplazo, compare con lo siguiente:
In [43]:
df = pd.DataFrame({'range':['(2,30)',',']})
df['range'].replace(',','-', inplace=True)
df['range']
Out[43]:
0 (2,30)
1 -
Name: range, dtype: object
aquí obtenemos una coincidencia exacta en la segunda fila y se produce el reemplazo.