Python Pandas: ¿Cómo reemplazar un personaje en una columna de un dataframe?

Tengo una columna en mi dataframe como esta:

range (2,30) (50,290) (400,1000) ... 

y quiero reemplazar el guión ‘,’ con ‘-‘. Actualmente estoy usando este método pero nada ha cambiado.

 org_info_exc['range'].replace(',','-',inplace=True) 

¿Alguien puede ayudar?

Utilice el método de str 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 intentaste y por qué no funcionó:

 df['range'].replace(',','-',inplace=True) 

De la documentación vemos este desc:

str o regex: str: la cadena que coincide exactamente con to_replace se reemplazará con el valor

Entonces, debido a que los valores de str no coinciden, no se produce 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.

Para cualquier persona que llegue aquí desde la búsqueda de Google sobre cómo hacer un reemplazo de cadena en todas las columnas (por ejemplo, si una tiene varias columnas como la columna de “rango” del OP): Pandas tiene un método integrado de replace disponible en un objeto de dataframe.

df.replace(',', '-', regex=True)

Fuente: Docs.