有没有元素级字符串连接在numpy中的应用?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (39)

下面是bug吗?

import numpy as np
a1=np.array(['a','b'])
a2=np.array(['E','F'])

In [20]: add(a1,a2)
Out[20]: NotImplemented

我正在尝试进行元素级字符串连接。我认为add()是在numpy中使用的方法,但显然它并不像预期的那样工作。

提问于
用户回答回答于

这可以使用numpy.core.defchararray.add

>>> import numpy as np
>>> a1 = np.array(['a', 'b'])
>>> a2 = np.array(['E', 'F'])
>>> np.core.defchararray.add(a1, a2)
array(['aE', 'bF'], 
      dtype='<U2')

可用于NumPy数据类型。

用户回答回答于

您可以使用chararray子类若要使用字符串执行数组操作,请执行以下操作:

a1 = np.char.array(['a', 'b'])
a2 = np.char.array(['E', 'F'])

a1 + a2
#chararray(['aE', 'bF'], dtype='|S2')

另一个很好的例子:

b = np.array([2, 4])
a1*b
#chararray(['aa', 'bbbb'], dtype='|S4')

扫码关注云+社区