我有一个从JSON输出创建的框架,看起来像这样:
Total Revenue Average Revenue Purchase count Rate
Date
Monday 1,304.40 CA$ 20.07 CA$ 2,345 1.54 %
字符串
存储的值作为字符串从JSON中接收。我正在尝试:
1)删除条目中的所有字符(例如:CA$或%)2)将rate和revenue列转换为float 3)将count列转换为int
我试着做以下事情:
df[column] = (df[column].str.split()).apply(lambda x: float(x[0]))
型
它工作正常,除非我有一个昏迷的值(例如:1,465不会工作,而143会)。
我尝试使用几个函数来替换“,”由“"等。没有工作到目前为止。我总是收到以下错误:
ValueError:无法将字符串转换为float:'1,304.40'
4条答案
按热度按时间t98cgbkg1#
这些字符串有逗号作为千位分隔符,所以你必须在调用
float
之前删除它们:字符串
这可以通过将
split
移动到lambda
内部来简化:型
bpsygsoo2#
另一个
list
理解的解决方案,如果需要,应用string
函数只与Series
(DataFrame
的列)一起工作,如str.split
和str.replace
:字符串
t1rydlwq3#
我也遇到过这个问题,我的问题是使用下面的代码解决的:
字符串
kd3sttzy4#
下面的解决方案为我工作..!!
字符串