当前位置:   article > 正文

python numpy 自定义数据类型_numpy 定义数据类型

numpy 定义数据类型

在某些场景下,可能会用到numpy的自定义数据类型,比如需要将电子表格或者数据库的一行数据作为一个数据。

举例说明,我们创建一个存储商店库存信息的数据类型。其中,我们用一个长度为40个字符的字符串来记录商品名称,用一个32位的整数来记录商品的库存数量,最后用一个32位的单精度浮点数来记录商品价格。

以下将会用到numpy包,所以先import

>>> import numpy as np
  • 1
创建数据类型
>>> t = np.dtype([('name',np.str_,40),('numitems',np.int32),('price',np.float32)])
>>> t
dtype([('name', '<U40'), ('numitems', '<i4'), ('price', '<f4')])
  • 1
  • 2
  • 3

上面显示出的类型如 “< U40” 表示的是字符编码,下面列出字符编码的对应表。

解析:< U40

  • < :表示字符序,即位长为40的字储存的顺序,包括大端序(big-endian)和小端序(little-endian)。大端序是将最高位字节存储在最低的内存地址处,用>表示;与之相反,小端序是将最低位字节存储在最低的内存地址处,用<表示。
  • U: 字符编码
  • 40: 用40位存储字。
查看类型
>>> t['name']
dtype('<U40')
  • 1
  • 2
使用自定义的类型创建数组
>>> 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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在用array函数创建数组时,如果没有在参数中指定数据类型,将默认为浮点数类型,所以这里必须制定dtype参数。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号