赞
踩
在某些场景下,可能会用到numpy的自定义数据类型,比如需要将电子表格或者数据库的一行数据作为一个数据。
举例说明,我们创建一个存储商店库存信息的数据类型。其中,我们用一个长度为40个字符的字符串来记录商品名称,用一个32位的整数来记录商品的库存数量,最后用一个32位的单精度浮点数来记录商品价格。
以下将会用到numpy包,所以先import
>>> import numpy as np
>>> t = np.dtype([('name',np.str_,40),('numitems',np.int32),('price',np.float32)])
>>> t
dtype([('name', '<U40'), ('numitems', '<i4'), ('price', '<f4')])
上面显示出的类型如 “< U40” 表示的是字符编码,下面列出字符编码的对应表。
解析:< U40
>>> t['name']
dtype('<U40')
>>> items = np.array([('Meaning of life DVD', 42, 3.14),('Butter', 13, 2.72)], dtype=t)
>>> items
array([('Meaning of life DVD', 42, 3.1400001 ),
('Butter', 13, 2.72000003)],
dtype=[('name', '<U40'), ('numitems', '<i4'), ('price', '<f4')])
>>> items[1]
('Butter', 13, 2.72000003)
在用array函数创建数组时,如果没有在参数中指定数据类型,将默认为浮点数类型,所以这里必须制定dtype参数。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。