首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Numpy -用NaN替换数字

Numpy -用NaN替换数字
EN

Stack Overflow用户
提问于 2011-07-15 09:08:59
回答 1查看 148.8K关注 0票数 47

我希望在numpy中用NaN替换一个数字,并寻找一个像numpy.nan_to_num这样的函数,除了相反的情况。

这个数字可能会随着不同数组的处理而变化,因为每个数组都可以有一个唯一定义的NoDataValue。我见过有人使用字典,但数组很大,既有正浮点数,也有负浮点数。我怀疑试图将所有这些加载到任何东西中以创建密钥的效率不高。

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

代码语言:javascript
复制
def replaceNoData(scanBlock, NDV):
    for n, i in enumerate(array):
        if i == NDV:
            scanBlock[n] = numpy.nan

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

掩码数组可能是可行的方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-15 09:17:29

代码语言:javascript
复制
A[A==NDV]=numpy.nan

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

票数 68
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6701714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档