我正在上一个在线课程,并且以下内容证明了“ NumPy数组:仅包含一种类型”:
In [19]: np.array([1.0, "is", True])
Out[19]:
array(['1.0', 'is', 'True'],
dtype='<U32')
起初,我以为输出是错误消息的一种形式,但是网络搜索并未确认这一点。实际上,我还没有得到解释。...任何人都可以解释如何解释输出吗?
答案 0 :(得分:2)
在manual中有完整的解释:
可以转换几种字符串。可以使用
'>'
(大端),'<'
(小端)或'='
(默认为硬件本机)来识别字符串,以指定字节顺序。 / p>[...]
第一个字符指定数据的类型,其余字符指定每个项目的字节数,但Unicode除外,Unicode将其解释为字符数。项目大小必须与现有的类型相对应,否则将引发错误。支持的种类是
[...]
'U' Unicode string
因此,一个32字符的低端Unicode字符串。
答案 1 :(得分:1)
dtype='<U32'
是一个低端32位字符串。
documentation on dtypes深入每个字符。
'U' Unicode string
Several kinds of strings can be converted. Recognized strings can be prepended with '>' (big-endian), '<' (little-endian), or '=' (hardware-native, the default), to specify the byte order.
示例:
dt = np.dtype('f8') # 64-bit floating-point number
dt = np.dtype('c16') # 128-bit complex floating-point number
dt = np.dtype('a25') # 25-length zero-terminated bytes
dt = np.dtype('U25') # 25-character string```