TypeError:ufunc'add'不包含签名匹配类型为dtype('<U1')dtype('<U1')dtype('<U1')的循环

时间:2020-07-03 07:56:19

标签: python arrays numpy dtype

我是Python用户的初学者。 当我尝试在下面创建代码时发生错误

import numpy as np
np.array(['a', 'b', 'c']) + np.array(['d' ,'e', 'f'])
TypeError: ufunc 'add' did not contain a loop with signature matching types dtype('<U1') dtype('<U1') dtype('<U1')    

所以我尝试设置dtype = '<U1',但是没有用

import numpy as np
np.array(['a', 'b', 'c'], dtype='<U1') + np.array(['d' ,'e', 'f'], dtype='<U1')

如何将这些np.array连接起来而没有错误?

1 个答案:

答案 0 :(得分:0)

如果要以数组方式串联:

a = np.array(['a', 'b', 'c'])
b = np.array(['d' ,'e', 'f'])
c = np.concatenate([a,b])
print(c)

输出:

['a' 'b' 'c' 'd' 'e' 'f']

如果要按元素串联:

方法-1:

a = np.array(['a', 'b', 'c'])
b = np.array(['d' ,'e', 'f'])
c = np.char.add(a, b)
print(c)

方法-2:

a = np.char.array(['a', 'b', 'c'])
b = np.char.array(['d' ,'e', 'f'])
c = a + b
print(c)

输出:

['ad' 'be' 'cf']