Gunakan str
metode vektorisasi replace
:
In [30]:
df['range'] = df['range'].str.replace(',','-')
df
Out[30]:
range
0 (2-30)
1 (50-290)
EDIT
Jadi jika kita melihat apa yang Anda coba dan mengapa tidak berhasil:
df['range'].replace(',','-',inplace=True)
dari dokumen kita melihat desc ini:
str atau regex: str: string yang sama persis dengan to_replace akan diganti dengan nilai
Jadi karena nilai str tidak cocok, tidak terjadi penggantian, bandingkan dengan berikut ini:
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
di sini kita mendapatkan hasil yang sama persis pada baris kedua dan terjadi pergantian.