我目前正在对一个包含大约500笔交易的excel文件进行销售分析。我有一个名为"Sale Price“的类别,它应该作为一个浮点数读取。Pandas将数据类型作为对象读取,当尝试使用以下命令将数据类型更改为浮点型时:
df['Sale Price'].fillna(0).astype(float)
我得到以下错误:
ValueError: could not convert string to float: ''
我尝试过混合使用各种命令组合,例如:
df.loc[pd.to_numeric(df['Sale Price'], errors='coerce').isnull()]
和:
pd.to_numeric(df['Sale Price']).astype(int)
以便将列转换为浮点型,但现在我认为问题出在数据是如何读取的。我使用了基本的:
df = pd.read_excel('...')
希望有人能帮我弄清楚这个问题是从哪里来的,因为我已经被困了一段时间。谢谢!
发布于 2021-07-23 22:29:26
您可以在将空字符串更改为float之前将其替换为0:
df["Sale Price"] = df["Sale Price"].astype(str).str.strip().replace("",0).astype(float)
https://stackoverflow.com/questions/68505527
复制相似问题