【发布时间】:2020-05-07 14:34:18
【问题描述】:
作品:
import numpy as np
dtype_L1 = [('ts', np.float32), ('s_id', np.uint16)]
arr = np.array((1,2), dtype=dtype_L1)
arr
array((1., 2), dtype=[('ts', '<f4'), ('s_id', '<u2')]) ##### CORRECT
Huups:由于unit16 声明,-2 被解释为65534:
arr2 = np.array((1,-2), dtype=dtype_L1)
arr2
array((1., 65534), dtype=[('ts', '<f4'), ('s_id', '<u2')]) ##### -2 interpreted wrongly
numpy 中是否有一种方法可以执行类似于 dtype 检查 的操作,以查看所有输入是否与 standard ranges 匹配?
所以它会检查unit16 字段是否为“无符号整数(0 到 65535)”,否则会设置默认值?
【问题讨论】:
标签: python-3.x numpy dtype