gpt4 book ai didi

python - 将对象转换为 float 时出现值错误

转载 作者:行者123 更新时间:2023-12-02 04:21:40 24 4
gpt4 key购买 nike

我正在使用一个数据集,该数据集的“价格”列的值为“$150.00”。为了删除“$”,我使用了:

df.price = ([x.strip('$') for x in df.price])

成功了。但是,此列仍然作为“对象”存在。所以我的下一步是检查最高值以识别任何大于“1000.00”的值,它可能表示为“1,000.00。我使用:

print((df["price"]).sort_values(ascending=False))

它返回的最高值是“999.00”。

然后我尝试将 object 列“price”转换为 float。我用过:

df['price'] = df['price'].apply(np.float)

但它返回:

ValueError: could not convert string to float: '2,000.00'

该列旁边不要出现任何大于 999.00 的数字。我试图删除任何“,”使用:

df.price = ([x.strip(',') for x in df.price])

然后我又试了一次:

df['price'] = df['price'].apply(np.float)

但是又出现了同样的错误ValueError:无法将字符串转换为 float :'2,000.00'

我不知道发生了什么,我做错了什么。

最佳答案

因为strip只去掉字符串左右两端的字符,中间有一个,,考虑用replace代替,这样的事情应该有效:

df.price = ([x.replace(',', '') for x in df.price])

然后将它们变成 float

关于python - 将对象转换为 float 时出现值错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59363420/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com