Użyj str
metody zwektoryzowanej replace
:
In [30]:
df['range'] = df['range'].str.replace(',','-')
df
Out[30]:
range
0 (2-30)
1 (50-290)
EDYTOWAĆ
Jeśli więc przyjrzymy się temu, czego próbowałeś i dlaczego to nie zadziałało:
df['range'].replace(',','-',inplace=True)
z dokumentów, które widzimy w tym opisie:
str lub regex: str: ciąg dokładnie pasujący do to_replace zostanie zastąpiony wartością
Dlatego, ponieważ wartości str nie są zgodne, nie następuje żadna zamiana, porównaj z poniższymi:
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
tutaj otrzymujemy dokładne dopasowanie w drugim rzędzie i następuje zamiana.