首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >numpy中基于元素的字符串连接

numpy中基于元素的字符串连接
EN

Stack Overflow用户
提问于 2012-04-01 02:26:42
回答 5查看 60K关注 0票数 39

这是一个bug吗?

代码语言:javascript
复制
import numpy as np
a1=np.array(['a','b'])
a2=np.array(['E','F'])

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

我正在尝试进行逐个元素的字符串连接。我认为Add()是在numpy中实现这一点的方法,但显然它并没有像预期的那样工作。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-12-17 07:49:52

这可以使用numpy.core.defchararray.add来完成。下面是一个示例:

代码语言:javascript
复制
>>> 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数据类型,还有其他有用的string operations可用。

票数 67
EN

Stack Overflow用户

发布于 2014-05-09 14:08:10

对字符串执行数组操作的You can use the chararray subclass

代码语言:javascript
复制
a1 = np.char.array(['a', 'b'])
a2 = np.char.array(['E', 'F'])

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

另一个很好的例子:

代码语言:javascript
复制
b = np.array([2, 4])
a1*b
#chararray(['aa', 'bbbb'], dtype='|S4')
票数 13
EN

Stack Overflow用户

发布于 2012-04-01 02:29:58

这可以(也应该)在纯Python语言中完成,因为numpy还在内部使用Python字符串操作函数:

代码语言:javascript
复制
>>> a1 = ['a','b']
>>> a2 = ['E','F']
>>> map(''.join, zip(a1, a2))
['aE', 'bF']
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9958506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档