python-如何从多个简单数组制作结构化数组
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-如何从多个简单数组制作结构化数组,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含918字,纯文字阅读大概需要2分钟。
内容图文
import numpy as np
a=np.array([1,2,3,4,5,6,7,8,9])
b=np.array(["a","b","c","d","e","f","g","h","i"])
c=np.array([9,8,7,6,5,4,3,2,1])
datatype=np.dtype({
'names':['num','char','len'],
'formats':['i','S32','i']
})
d=np.array(zip(a,b,c),dtype=datatype)
上面的代码使用zip()首先创建一个列表,然后将其转换为结构化数组.它的效率很低,我想知道NumPy中有任何内置函数可以做到这一点.
解决方法:
您最好尝试numpy.rec.fromarrays.
import numpy as np
a=np.array([1,2,3,4,5,6,7,8,9])
b=np.array(["a","b","c","d","e","f","g","h","i"])
c=np.array([9,8,7,6,5,4,3,2,1])
d = np.rec.fromarrays([a,b,c], formats=['i','S32','i'], names=['num','char','len'])
尽管计时不如使用itertools好.
In [2]: %timeit d = np.rec.fromarrays([a,b,c], formats=['i','S32','i'], names=['num','char','len'])
10000 loops, best of 3: 86.5 us per loop
In [6]: import itertools
In [7]: %timeit np.fromiter(itertools.izip(a,b,c),dtype=datatype)
100000 loops, best of 3: 11.5 us per loop
内容总结
以上是互联网集市为您收集整理的python-如何从多个简单数组制作结构化数组全部内容,希望文章能够帮你解决python-如何从多个简单数组制作结构化数组所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。