【发布时间】:2015-12-10 03:32:12
【问题描述】:
我有两个 numpy 数组
a= np.array([[2,2],[3,2],[4,2],[3,3],[5,3]])
b= np.array([[1,1],[1,3],[5,3]])
我想比较 a 和 b 并返回 a-b 这样:
a-b = array([[2,2],
[3,2],
[4,2],
[3,3]])
我已经尝试过:
[x for x in a if x not in b]
结果是
[array([2, 2]), array([3, 2]), array([4, 2])] # where clearly [3,3] is missing
我什至尝试在循环中比较 a 和 b 的每一行,它给了我一个错误
The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
谁能帮我解决这个问题???
【问题讨论】:
-
你的输出背后有什么逻辑吗?
-
您要进行的比较到底是什么?这不是减法,不是成员资格,也不是索引。看起来您的输出只是
a的前四个元素。我根本无法弄清楚它与b的关系。 -
比较'a'的行和'b'..返回'a'的行与'b'的行不匹配
标签: python arrays list numpy scipy