【问题标题】:Pandas: "ValueError: could not convert string to float: " (empty string)Pandas:“ValueError:无法将字符串转换为浮点数:”(空字符串)
【发布时间】:2019-10-03 21:30:37
【问题描述】:

尝试将 Pandas 系列转换为 float 时,我收到此错误消息。它指的是一个空字符串 (" "),它不是 np.nan。只是一个空字符串。

我尝试将“”替换为np.nan,但它没有做任何事情。我也尝试将“”替换为“”,但它也没有做任何事情。

import pandas as pd
import numpy as np

df = pd.DataFrame(np.array([[1, 2, 3], [4, " ", 6], [7, 8, 9]]), 
                  columns=['a', 'b', 'c'])

df.astype(float)

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

我想在大型数据框中用 NaN 值替换这些“”。

【问题讨论】:

  • 您期望" " 的浮点值是多少?
  • df.apply(pd.to_numeric, args=('coerce',))

标签: python pandas replace


【解决方案1】:

您可以使用 df.replace() 函数来执行此操作

df.replace(r'^\s*$', np.nan, regex=True)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-22
    • 2022-01-10
    • 1970-01-01
    • 2017-05-12
    • 2016-12-31
    • 2019-03-23
    • 2018-06-13
    • 2013-05-30
    相关资源
    最近更新 更多