我试图做的手在numpy的,我凸轮跨使用内置的方法dtype.Following为数不多的结果我有以下时的数据类型。 能否请您解释一下这是什么意思由U11
a1 = np.array([3,5,'p'])
print(a1.dtype)
O / P => U11
我试图做的手在numpy的,我凸轮跨使用内置的方法dtype.Following为数不多的结果我有以下时的数据类型。 能否请您解释一下这是什么意思由U11
a1 = np.array([3,5,'p'])
print(a1.dtype)
O / P => U11
是numpy的的数组对象PyArrayObject
类型都有一个NPY_PRIORITY
其表示其中应被视为阵列的类型的优先级属性dtype
的情况下,它包含具有不同种类的数据类型的项目。 您可以通过访问这个优先PyArray_GetPriority
API,它返回__array_priority__
的OBJ或者如果不存在该名称的属性DEF属性(转换为双)。 在这种情况下Unicode有一个比整数类型更优先,这就是为什么a1.dtype
返回U11
。
现在,对于U11
或一般U#
它由两个部分组成。 所述U
其表示一个Unicode dtype
和#
表示它可以容纳元件的数量。 这可能是在不同的平台不同的东西。
In [45]: a1.dtype
Out[45]: dtype('<U21') # 64bit Linux
In [46]: a1.dtype.type # The type object used to instantiate a scalar of this data-type.
Out[46]: numpy.str_
In [49]: a1.dtype.itemsize
Out[49]: 84 # 21 * 4
阅读关于字符串类型和文档等数据类型的对象更详细的详细信息https://docs.scipy.org/doc/numpy-1.14.0/reference/arrays.dtypes.html#data-type-objects-dtype 。