【发布时间】:2019-07-22 11:47:40
【问题描述】:
我有以下两个 numpy 数组:
a1
array(['T', 'T', 'T', ..., 'G', 'A', 'A'], dtype=object)
a2
array(['A', 'G', 'C', ..., 'A', 'T', 'G'], dtype=object)
我想添加两个数组中的每个元素。以下命令有效:
s = a1 + a2
s
array(['TA', 'TG', 'TC', ..., 'GA', 'AT', 'AG'], dtype=object)
但我在尝试使用numpy.char.add 时遇到错误:
np.char.add(a1, a2)
TypeError: string operation on non-string array
为什么会这样?
【问题讨论】:
-
如果不想使用numpy.char.add,可以使用经典的for循环和zip,也可以使用map函数。
-
np.add(a1,a2)与a1+a2工作方式相同。这使用每个对象的add方法。np.char函数将字符串方法应用于 numpy char dtypes。结果类似