【问题标题】:Python set value in Dataframe to Nan Based on ValuePython根据值将Dataframe中的值设置为Nan
【发布时间】:2020-12-31 02:04:33
【问题描述】:

我正在尝试根据单元格的值将数据框中某些列的值设置为 Nan。我在让它工作时遇到问题。这是我尝试过的。 我需要将风速

filterA.loc[filterA['WindSpeedMPH'] < -200, 'WindSpeedMPH']   ==   NaN
filterA.loc[filterA['WindSpeedMPH'].le -200, 'WindSpeedMPH']  == Nan

但它不起作用。我敢肯定这是相当简单的事情,但我无法弄清楚,也没有找到答案。 我已经尝试了多个

【问题讨论】:

    标签: python-3.x pandas dataframe nan


    【解决方案1】:

    我们可以试试mask

    filterA['WindSpeedMPH'].mask(filterA['WindSpeedMPH'] < -200, inplace=True)
    

    修复你的代码

    filterA.loc[filterA['WindSpeedMPH'] < -200, 'WindSpeedMPH'] = np.nan
    

    【讨论】:

    • 那行得通,必须将它从对象转换为 int
    • @JimRyan 很高兴它可以工作,是的,因为你有两种类型和一个 col 的混合数据类型,所以应该是 object
    【解决方案2】:

    您也可以尝试像这样简单:

    filterA.loc[filterA['WindSpeedMPH'] < -200, 'WindSpeedMPH'] = np.nan
    

    请参阅文档here,了解在 pandas DataFrame 中应用 IF 条件的 5 种方法。

    【讨论】:

    • 现在我收到此错误 'TypeError: '
    猜你喜欢
    • 2022-08-03
    • 2018-12-05
    • 2015-10-05
    • 2020-07-23
    • 1970-01-01
    • 2021-05-18
    • 2021-12-23
    • 2022-12-09
    • 1970-01-01
    相关资源
    最近更新 更多