栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将不同的数据类型存储在一个NumPy数组中?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将不同的数据类型存储在一个NumPy数组中?

一种方法可能是使用记录数组。“列”与标准numpy数组的列不同,但是对于大多数用例来说,这就足够了:

>>> a = numpy.array(['a', 'b', 'c', 'd', 'e'])>>> b = numpy.arange(5)>>> records = numpy.rec.fromarrays((a, b), names=('keys', 'data'))>>> recordsrec.array([('a', 0), ('b', 1), ('c', 2), ('d', 3), ('e', 4)],       dtype=[('keys', '|S1'), ('data', '<i8')])>>> records['keys']rec.array(['a', 'b', 'c', 'd', 'e'],       dtype='|S1')>>> records['data']array([0, 1, 2, 3, 4])

请注意,您还可以通过指定数组的数据类型来对标准数组执行类似的操作。这被称为“结构化数组”:

>>> arr = numpy.array([('a', 0), ('b', 1)], dtype=([('keys', '|S1'), ('data', 'i8')]))>>> arrarray([('a', 0), ('b', 1)],       dtype=[('keys', '|S1'), ('data', '<i8')])

区别在于记录数组还允许对单个数据字段的属性访问。标准结构化数组则没有。

>>> records.keyschararray(['a', 'b', 'c', 'd', 'e'],       dtype='|S1')>>> arr.keysTraceback (most recent call last):  File "<stdin>", line 1, in <module>AttributeError: 'numpy.ndarray' object has no attribute 'keys'


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/637729.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号