Sử dụng str
phương pháp vectorised replace
:
In [30]:
df['range'] = df['range'].str.replace(',','-')
df
Out[30]:
range
0 (2-30)
1 (50-290)
BIÊN TẬP
Vì vậy, nếu chúng tôi xem xét những gì bạn đã thử và tại sao nó không hoạt động:
df['range'].replace(',','-',inplace=True)
từ các tài liệu, chúng tôi thấy mô tả này:
str hoặc regex: str: string khớp chính xác với to_replace sẽ được thay thế bằng giá trị
Vì vậy, bởi vì các giá trị str không khớp, không có thay thế nào xảy ra, hãy so sánh với các giá trị sau:
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
ở đây chúng tôi nhận được một kết quả khớp chính xác trên hàng thứ hai và sự thay thế xảy ra.