【问题标题】:Numpy NaN returning as 'nan'Numpy NaN 返回为 'nan'
【发布时间】:2017-08-12 19:07:13
【问题描述】:

这是我的代码的一部分:

df['ColZ'] = np.where(
            (df['ColA'] == 'AA') & (df['ColB'] == 'BB'),
            'GOOD!',
            np.where((df['ColA'] == 'BB') & (df['ColB'] == 'AA'),
            'BAD...',
            np.nan))

但 'nan' 填充为 'nan'(字符串)而不是 NaN。

自然,df.isnull().any() 返回 False,因为 'nan' 被注册为字符串。

我哪里做错了?

【问题讨论】:

    标签: python-2.7 pandas numpy


    【解决方案1】:

    也许尝试将nan 替换为NaN

    df = df.replace('nan', np.nan)
    

    【讨论】:

    • 哈哈@jezrael,我现在会使用你的建议。我的语法正确吗?
    • 或问题是numpy.wherenp.nan 转换为字符串nan ?
    • 看着link,看来你是对的。这种行为非常奇怪..
    猜你喜欢
    • 2017-05-10
    • 2017-09-19
    • 2017-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-11
    • 2013-12-17
    相关资源
    最近更新 更多