繁体   English   中英

选择多维numpy数组的一部分

[英]Selecting portion of multi-dimensional numpy array

我到处搜索,但似乎找不到任何有效的方法来根据索引选择3d数组的一部分。 举例来说,假设我有一些尺寸为200 x 200 x 200的3d数组,并且我想选择和更改所有索引都大于100的所有元素的值

import numpy as np

mask = np.ones((200,200,200))

for x in np.arange(0,mask.shape[0]):
    for y in np.arange(0,mask.shape[1]):
        for z in np.arange(0,mask.shape[2]):
            if x > 100 & y > 100 & z > 100:
                mask[x,y,z] = 0
            else:
                mask[x,y,z] = 1

必须使用np.select或类似方法来执行某些有效的方法,但是我还是无法解决。 任何帮助将非常感激。

我想选择并更改所有索引都大于100的所有元素的值

请执行以下操作:

mask[101:,101:,101:] = 0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM