python - 删除二维数组中的特定值 - Numpy

标签 python arrays numpy

import numpy as np

我有两个大小为 n 的数组(为简化起见,我在此示例中使用 n = 2):

A = array([[1,2,3],[1,2,3]])

B 有两个维度,其中 n 是一个随机整数:1、2 或 3。

让我们假设:

B = array([[1],[3]])

从 A 中减去 B 以获得 C 的最 pythonic 方法是什么,C = array([2,3],[1,2])

我尝试使用 np.subtract 但由于广播规则,我没有获得 C。我不想使用掩码或索引,而是使用元素的值。我也试过用np.delete, np.where 都没有成功。 谢谢。

最佳答案

这可能有效并且应该非常 Pythonic:

dd=[[val for val in A[i] if val not in B[i]] for i in xrange(len(A))]

关于python - 删除二维数组中的特定值 - Numpy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52333067/

相关文章:

python - 从选择查询中排除 id 字段

python - 在 Django 中集成其他 Python 应用

java - Java 消除数组中的重复数字

python以不同的概率从不同的分布中抽样

python - Cython/numpy 与纯 numpy 的最小二乘拟合

python - 如何确定 numpy 数组 reshape 策略

python - 如何在 Python 中移动文件?

python - 如何使用 matplotlib 绘制 .png 数组

c# - 用于比较的订单日期列表

C++ 数组按引用调用模板