根据列表从2 Numpy数组中删除元素

问题描述 投票:0回答:1

谢谢您先看一下我的帖子。

我有一个名为actions的2d np.array,形状为(2,x),其中包含int s

我还有另一个1d np.array keys,其元素的类型与actions的第一维相同:actions[0]。我想从actions中删除keys中的所有数组元素。我尝试过diff = actions[:, not actions[0] == kids_keys],但它返回的是(1,2,x)形状的3d数组。

如何获得(2,x)diff数组?

python arrays numpy multidimensional-array conditional-statements
1个回答
0
投票

以下内容将淘汰actions中在集合keys中具有第一行条目的列:

import numpy as np
x = 10
actions = np.random.randint(5, size=(2,x))
print(actions)
keys = np.array([1,2,3])
print(keys)
filtered_actions = actions[:,~np.sum([actions[0,:] == key for key in keys], dtype=bool, axis=0)]
print(filtered_actions)
© www.soinside.com 2019 - 2024. All rights reserved.