熊猫:用逗号替换列中的点

问题描述 投票:0回答:1

我有一个来自csv文件的值列,其中包含逗号而不是点。使用下面的代码我想把它们变成点,但这不起作用。

没有错误消息,代码只是运行,如果我从数据框Betrag()调用列Umsatz(德语:绝对值),它没有显示任何变化。逗号仍然存在。

def removecom(value):
value=value.replace(',','.')

Umsatz['Betrag()']=Umsatz['Betrag()'].apply(lambda value: removecom(value))

Umsatz['Betrag()']

例如,将7,99转为7.99

python string pandas dataframe substitution
1个回答
4
投票

你没有看到任何变化的原因是因为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
© www.soinside.com 2019 - 2024. All rights reserved.