Element-wise string concatenation in numpy
This can be done using numpy.core.defchararray.add. Here is an example:
>>> 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')
There are other useful string operations available for NumPy data types.
This can (and should) be done in pure Python, as numpy
also uses the Python string manipulation functions internally:
>>> a1 = ['a','b']
>>> a2 = ['E','F']
>>> map(''.join, zip(a1, a2))
['aE', 'bF']
You can use the chararray
subclass to perform array operations with strings:
a1 = np.char.array(['a', 'b'])
a2 = np.char.array(['E', 'F'])
a1 + a2
#chararray(['aE', 'bF'], dtype='|S2')
another nice example:
b = np.array([2, 4])
a1*b
#chararray(['aa', 'bbbb'], dtype='|S4')