当前位置: 首页 > 面试题库 >

脾气暴躁-用NaN代替数字

暴博远
2023-03-14
问题内容

我正在寻找用numpy中的NaN替换数字,并正在寻找类似numpy.nan_to_num的函数,除非相反。

由于每个数组都可以具有唯一定义的NoDataValue,因此该数字可能会随着处理不同的数组而改变。我看到人们使用字典,但是数组很大,并且充满了正负浮点数。我怀疑尝试将所有这些加载到任何东西以创建密钥的效率不高。

我尝试使用以下内容和numpy要求我使用any()或all()。我意识到我需要在元素上进行迭代,但是希望内置函数可以实现这一点。

def replaceNoData(scanBlock, NDV):
    for n, i in enumerate(array):
        if i == NDV:
            scanBlock[n] = numpy.nan

NDV是GDAL的无数据值,而array是一个numpy数组。

蒙面阵列可能是走的路吗?


问题答案:
A[A==NDV]=numpy.nan

A == NDV将产生一个布尔数组,可用作A的索引



 类似资料:
  • 问题内容: 我有一个称为dists的距离数组。我想选择两个值之间的距离。我编写了以下代码行: 但是,这仅针对条件选择 如果我使用临时变量按顺序执行命令,则可以正常工作。为什么上面的代码不起作用,如何使它起作用? 干杯 问题答案: 在 您的特定情况下 ,最好的方法 是 将两个条件更改为一个条件: 它仅创建一个布尔数组,在我看来是更易于阅读,因为它说, 是内部的还是?(尽管我将重新定义为您感兴趣的区域

  • 问题内容: 我需要以以下方式进行计算(旧版代码): 我想它可以在python-2.x中工作),但是在python-3.x中不工作(它返回错误)。 如何使其在python-3.x中工作? 编辑:错误消息(Python 3.6.3): 问题答案: 该文档指出: 如果和被赋予与输入的数组是1-d,相当于:: 那么,为什么会看到错误?举个简单的例子: 到现在为止还挺好。首先检查,结果为。该代码不会尝试进行

  • 问题内容: 我正在尝试找到掩盖段的索引。例如: 当前的解决方案看起来像这样(并且 非常 慢,因为我的掩码包含数百万个数字): 有什么办法可以用numpy有效地做到这一点? 我设法对google进行的唯一操作是numpy.ma.notmasked_edges,但它看起来不像我所需要的。 问题答案: 这是一种方法- 样品运行- 用它来获得- 在计时扩大命令datasize -

  • 我有一个现有的工作项目与gulp工作流。一切都很顺利。我的gulp用了这个: null null 我是否可以在不使用的情况下对其进行包装,以避免出现该问题?

  • 问题内容: 考虑数组 绑定转换为float数组会引发异常 numpy是否提供任何有效的方法将其强制转换为数字数组,并用NAN等替代非数字值? 或者,是否有一个等效于的有效numpy函数,但是该函数还可以测试字母之类的非数字元素? 问题答案: 您可以使用以下方式将字符串数组转换为浮点数组(带有NaN): 这是一种识别“数字”字符串的方法: 请注意,“数字”是指仅包含数字字符的Unicode,即具有U

  • 我有一个空单元格的数据框,并希望用NaN替换这些空单元格。之前在这个论坛上提出的解决方案有效,但前提是单元格包含一个空间: 当单元格为空时,此代码不起作用。有人建议用熊猫代码来代替空细胞吗?