【发布时间】:2016-10-31 21:24:40
【问题描述】:
我想使用np.dot 或(最好)np.einsum 之类的东西来有效地执行它们的相同功能,但使用备用ufunc 而不是np.multiply。例如,考虑这两个数组:
>>> a
array([[0, 1],
[1, 1],
[1, 0]])
>>> b
array([[0, 0],
[1, 0],
[1, 0],
[0, 0]])
现在假设我想计算a 的每一行中元素的数量等于b 的每一行中的相应元素。我希望能够执行以下等效操作(注意:下面的输出是虚构的,但值是我希望看到的):
>>> np.dot(a, b.T, ufunc=np.equal)
array([[1, 0, 0, 1],
[0, 1, 1, 0],
[1, 2, 2, 1]])
有没有办法做到这一点?
【问题讨论】:
-
数组是否总是只有
0s 和1s? -
在我的具体情况下,是的。但我也很好奇更一般情况下的答案。
标签: numpy numpy-ufunc