我有一个 numpy 字符串数组,其中一些重复,我想将每个元素与每个其他元素进行比较,以生成一个新的 1 和 0 向量,指示每对(i,j)
是相同还是不同。
例如["a","b","a","c"]
-> 12 元素 (4*3) 向量[1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1]
有没有办法在 numpy 中快速做到这一点,而无需通过所有元素对进行双循环?我的数组有大约 240,000 个元素,因此以天真的方式完成它需要很长时间。
我知道numpy.equal.outer
,但显然numpy.equal
没有在字符串上实现,所以我似乎需要一些更聪明的方法来比较它们。