比较字符串1-d numpy数组元素

Com*_*man 5 python arrays string numpy

我有两个包含字符串的1-d数组(a和b),我想比较元素以获得输出c,如下所示.我尝试将其转换为设置和比较,但这并没有给出正确的解决方案.logical_xor也不适用于字符串.我可以编写一个循环来执行此操作但是它失败了使用数组的目的,没有循环可以做到这一点的最佳方法是什么?

  >>  a
      array(['S', 'S', 'D', 'S', 'N', 'S', 'A', 'S', 'M'], 
          dtype='|S1')
  >>  b
      array(['T', 'I', 'D', 'N', 'G', 'B', 'A', 'J', 'M'], 
          dtype='|S1')

  >> c 
     array([False, False, True, False, False, False, True, False, True], 
      dtype=bool)
Run Code Online (Sandbox Code Playgroud)

tim*_*geb 4

只需使用ndarray的__eq__方法即可,即==

>>> a = array(['S', 'S', 'D', 'S', 'N', 'S', 'A', 'S', 'M'], dtype='|S1')
>>> b = array(['T', 'I', 'D', 'N', 'G', 'B', 'A', 'J', 'M'], dtype='|S1')
>>> a == b
array([False, False,  True, False, False, False,  True, False,  True], dtype=bool)
Run Code Online (Sandbox Code Playgroud)