【问题标题】:How to replace value where "Value Error" arises?如何替换出现“价值错误”的价值?
【发布时间】:2019-09-21 08:49:32
【问题描述】:

所以我在使用这段代码时正在工作:

data = data.apply(pd.to_numeric)

当我遇到多个错误时:

ValueError: ('Unable to parse string "4.4-1" at position 40064', 'occurred at index UV')

现在我必须替换上述格式的每个值。

data.iloc[r,c]=some value

有什么方法可以用引发错误的 int/float 替换值,而不是每次都手动迭代?

【问题讨论】:

  • 你想用什么替换它?大概是NaN?
  • 通过某个整数/浮点值

标签: python python-3.x pandas dataframe valueerror


【解决方案1】:

你可以试试这个:

import pandas as pd
data = pd.to_numeric(data, errors='coerce')

【讨论】:

  • 这是可能的,但它会留下一个 NaN 值,然后可以在以后替换它。我想要一种直接的方法来用整数/浮点数替换它。
  • 最后加上 .fillna("0", inplace = True) 怎么样?
  • 不要使用inplace=True,它将返回None,然后您将其分配给data
  • 如果您将 'data.fillna("0", inplace = True)' 作为下一行,则不会。对吗?
【解决方案2】:

将该行包装在 try/except 块中。

try:
    data = data.apply(pd.to_numeric)
except ValueError:
    data = something_else

【讨论】:

  • 您能否指定当我们用 int/float 值替换行和列时如何提及它?
  • 我对 Pandas 一无所知,所以对此我无能为力。
猜你喜欢
  • 1970-01-01
  • 2016-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多