【问题标题】:Replace the number with np.nan comparing with array not with integer将数字替换为 np.nan 与数组而不是整数进行比较
【发布时间】:2017-09-25 12:38:22
【问题描述】:

当我尝试用 np.nan 替换数组中的数字时,我使用了如下函数:

X[X>9.] = np.nan

但是,我想与另一个数组进行比较,而不是数字。

例如:

A = [5.09901951, 4.84148737, 3.72021505, 4.28952212, 3.87814389, 3.7094474]
X = [7.54950976, 2.02074369, 1.26010752, 3.14476106, 8.53907194, 10.0547237]
X[X>A] = np.nan

它似乎不起作用。而且我也不想使用for循环,因为如果数组变大会引起麻烦。

任何想法或帮助将不胜感激。

艾萨克

【问题讨论】:

  • 我尝试 iit 时似乎可以工作。你得到什么错误?
  • AX 是数组还是列表?
  • @ayhan 我没有将数组用作 hpaulj,感谢您并为让您感到困惑而道歉。
  • @hapulj 是的,你是对的。这是我的错。

标签: numpy replace nan


【解决方案1】:

根据 cmets @hpaulj: 如果您将列表更改为 numpy 数组:

import numpy as np
A = np.array([5.09901951, 4.84148737, 3.72021505, 4.28952212, 3.87814389, 3.7094474])
X = np.array([7.54950976, 2.02074369, 1.26010752, 3.14476106, 8.53907194, 10.0547237])
X[X>A] = np.nan

X 将是:

array([        nan,  2.02074369,  1.26010752,  3.14476106,         nan,
               nan])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多