python - 在不更改维度的情况下从更大的多维数组中删除子数组

标签 python numpy numpy-ndarray

有数组 a 和 b,我想得到数组 c,它从 b 中排除了 a。

a=np.array([8,14])

[ 8 14]

b=np.array([[3,2],[8,10],[8,14],[17,65]])

[[ 3  2]
 [ 8 10]
 [ 8 14]
 [17 65]]

所需的 c 是:

print(c)
[[ 3  2]
 [ 8 10]
 [17 65]]

numpy delete 似乎没有按预期工作,因为它将索引作为删除数组部分的输入。

np.delete(b, a)
[ 3  2  8 10 8 14 17 65]

最佳答案

试试这个:

c = b[np.any(b != a, axis=(1))]
print(c)

关于python - 在不更改维度的情况下从更大的多维数组中删除子数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61689702/

相关文章:

python - 从行中减去行的最小值

javascript - Kartograph: map 创建失败

python - 间歇性 KeyError 引发且无法重现

python - 聚合 pandas 数据框和字符串条目

python - 用最后一个非零值填充 1d numpy 数组的零值

numpy - 使用 Numpy 获取多项式的系数

python - 创建超过 100000 个项目的 TreeView 时代码速度很慢

python - 在数据框中创建一列,该列是汇总其他列中数据的字符串

python - 将 2D numpy 数组中的列向量化为字节字符串

python - 按多列对 numpy 二维数组进行排序