对不起,各位,我知道这个问题之前已经被回答过,我尝试了所有答案,也进行了研究,并尝试了不同的事情 4 个小时。我无法完成。
我相信我的数据有一些奇怪的东西..
所以按照我的数据和我的尝试:
x = pd.DataFrame({ "Cost" : [ "83.53462540716612" , "0.0" , "66.6315396408911" , "340.9281334351922" , "181.8128056341571" , "0.00" ]
我的尝试:
###Attempt 0
# x["Cost"] = x["Cost"].str.replace(' ', '')
# x["Cost"] = x["Cost"].str.replace(',', '').astype(float)
###Attempt 1
#x = x.where((pd.notnull(x)), None)
#x["Cost"] = float(len(x["Cost"]))
###Attempt 2
#x["Cost"].isdecimal()
#x = [float(x) for x in range(len(x["Cost"])) ]
###Attempt 3
#[float(x) for x in x["Cost"].strip().split()]
###Attempt 4
#x["Cost2"] = x["Cost"].append([float(str(x)) for x in x["Cost"].split(' ') if len(x)>1])
###Attempt 5
#x["Cost"] = pd.get_dummies(x["Cost"]).values
没什么作用..
出现这样的错误:
ValueError: could not convert string to float: 'Null'
# else, only a single dtype is given
# _astype_nansafe works fine with 1-d only
# TODO(extension)
# Explicit copy, or required since NumPy can't view from / to object.
您可以使用pd.to_numeric https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.to_numeric.html,并强制错误,以便它们导致NaN
值(如果无法转换)。
x = pd.DataFrame({ "Cost" : [ "Null", "1,083.53462540716612" , "0.0" , "66.6315396408911" , "340.9281334351922" , "181.8128056341571" , "0.00" ]})
x['Cost'] = pd.to_numeric(x['Cost'].str.replace(",", ""), errors='coerce')
>>> x
Cost
0 NaN
1 1083.534625
2 0.000000
3 66.631540
4 340.928133
5 181.812806
6 0.000000
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)