我有一个来自csv文件的值列,其中包含逗号而不是点。使用下面的代码我想把它们变成点,但这不起作用。
没有错误消息,代码只是运行,如果我从数据框Betrag()
调用列Umsatz
(德语:绝对值),它没有显示任何变化。逗号仍然存在。
def removecom(value):
value=value.replace(',','.')
Umsatz['Betrag()']=Umsatz['Betrag()'].apply(lambda value: removecom(value))
Umsatz['Betrag()']
例如,将7,99转为7.99
你没有看到任何变化的原因是因为removecom
什么都不返回。您应该从函数返回一个值,如下所示:
def removecom(value):
return value.replace(',','.')
但是,我推荐的更好的方法是使用df.str.replace
:
Umsatz['Betrag()'] = Umsatz['Betrag()'].str.replace(',', '.')
演示:
In [750]: df
Out[750]:
Col1
0 foo,bar
1 abc,def
In [751]: df['Col1'] = df.Col1.str.replace(',', '.')
In [752]: df
Out[752]:
Col1
0 foo.bar
1 abc.def