Element-wise string concatenation in numpy Element-wise string concatenation in numpy arrays arrays

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.


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')


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']