在numpy数组中更改值

2024-04-25 07:55:14 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有一个2dnumpy数组(256256),包含0到10之间的值,这实际上是一个图像。我需要一个数组来删除这些值。但是,每当我尝试更改所有0值时,其他一些值都会更改,在某些情况下更改为原始值的100倍(不知道为什么)。在

我使用的代码是:

for index, value in np.ndenumerate(tex_data):
    if value == 0:
        tex_data[index] = 'NaN'

其中tex_data是我需要从中删除零的数据数组。不幸的是,我不能只对不需要的值使用掩码,因为据我所知,APLpy不会只使用屏蔽数组。在

我是否可以将0值设置为NaN而不更改数组中的其他值?在


Tags: 数据代码in图像fordataindexif
2条回答

使用浮动规则

tex_data/tex_data*tex_data

在这里也要工作。在

使用花哨的索引。像这样:

tex_data[tex_data==0] = np.nan

我不知道为什么你原来的代码失败了。在我看来是正确的,尽管效率极低。在

相关问题 更多 >