Utilisez la str
méthode vectorisée replace
:
In [30]:
df['range'] = df['range'].str.replace(',','-')
df
Out[30]:
range
0 (2-30)
1 (50-290)
ÉDITER
Donc, si nous regardons ce que vous avez essayé et pourquoi cela n'a pas fonctionné:
df['range'].replace(',','-',inplace=True)
à partir des documents, nous voyons cette description:
str ou regex: str: la chaîne correspondant exactement à to_replace sera remplacée par value
Ainsi, comme les valeurs str ne correspondent pas, aucun remplacement ne se produit, comparez avec ce qui suit:
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
ici, nous obtenons une correspondance exacte sur la deuxième ligne et le remplacement se produit.