gpt4 book ai didi

python - 访问不在给定索引列表中的 NumPy 数组元素

转载 作者:太空狗 更新时间:2023-10-29 20:39:35 25 4
gpt4 key购买 nike

我有一个形状为 (100, 170, 256) 的 NumPy 数组。我有一个由索引 [0、10、20、40、70] 组成的数组。

我可以得到索引对应的子数组如下:

sub_array = array[..., index]

这将按预期返回一个形状为 (100, 170, 5) 的数组。现在,我正在尝试取补码并获得与这些索引不对应的子数组。所以,我做了:

sub_array = array[..., ~index]

出于某种原因,这仍然返回一个形状为 (100, 170, 5) 的数组。我想知道如何在 python 中对这些索引进行补码操作?

[编辑]

还试过:

sub_array = array[..., not(index.any)]

但是,这也不能满足我的要求(获取形状数组 (100, 170, 251))。

最佳答案

您拥有数据的方式,最简单的方法是使用 np.delete :

sub_array = np.delete(array, index, axis=2)

或者,您尝试使用的逻辑运算符可以按照@DSM 的建议应用于 bool 数组:

mask = np.ones(a.shape[2], dtype=bool)
mask[index] = False
sub_array = array[:,:, mask]

(我不会称你的数组为 array 但我遵循了你问题中的名称)

关于python - 访问不在给定索引列表中的 NumPy 数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27824075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com