【发布时间】:2020-05-31 12:59:02
【问题描述】:
我有一个如下的数据框:
Score
0 16-1/4
1 9
2 5
3 3-1/2
4 4
我想把它改成浮动,这样:
Score
0 16.25
1 9.0
2 5.0
3 3.5
4 4.0
为此,我开发了我的代码:
import pandas as pd
def to_float(value):
if '-' in value:
return float(value.split("-")[0].strip('\t')) + (float((value.split("-")[1]).split("/")[0].strip('\t')) / float((value.split("-")[1]).split("/")[1].strip('\t')))
else:
return value
df['Score'] = df['Score'].map(to_float)
但结果是报错:ValueError: could not convert string to float:
【问题讨论】:
-
可能是一些错误的值,这意味着不能这样处理?如果是,如何处理?
-
我已经删除了所有值错误的行。剩下的应该都是如图所示的格式。
标签: python-3.x pandas