【问题标题】:How to convert a string to float when the string has negative values in dataframe?当字符串在数据框中具有负值时,如何将字符串转换为浮点数?
【发布时间】:2019-10-16 15:38:08
【问题描述】:

我有一个从 xls 读取的数据框。它有两列数字作为字符串读入,这些列中也有负值。我正在尝试将这些字符串转换为浮点数,但出现错误。

我试图替换字符串,我认为是问题('-')但我仍然收到以下错误:

ValueError: 无法将字符串转换为浮点数:'-'

df2['VOL'] = df2['VOL'].str.replace('−', '-').astype(float)

我期待一个没有错误的浮点输出。

【问题讨论】:

  • 你能提供一个minimal reproducible example吗?
  • 这意味着您的实例中的值只是 - 而不是实际值。你可以检查吗?我知道有时excel把-写成zero。所以你需要照顾好这个
  • 你试过pd.read_excel吗?

标签: python pandas


【解决方案1】:

将下面代码中的 t 替换为 df2['VOL']。

t = '−423'
t = float(t.replace('−', '-'))

print(t)

输出

-423.0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-25
    • 2019-08-13
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-09
    相关资源
    最近更新 更多