我是numpy结构化数组的新手。
如果我使用文档中的代码(请参阅此处:Numpy Structured Array)
import numpy as np
x=np.array([(1,2.,'Hello'), (2,3.,"World")], dtype=[('foo', 'i4'),('bar', 'f4'), ('baz', 'S10')])
x
y = x['foo']
y
x
是正确的:array([(1, 2.0, 'Hello'), (2, 3.0, 'World')], dtype=[('foo', '<i4'), ('bar', '<f4'), ('baz', 'S10')])
但是y
给了我array([1, 2])
,文档说它应该是array([ 2., 3.], dtype=float32)
我很难相信文档是错误的,但是这段代码太短了,我将它复制/粘贴到python中。
我做错了吗?
答案 0 :(得分:2)
x['foo']
为您提供了每个结构的所有第一个元素的数组,因此[1,2]
是正确的。文档错误地切换了foo
和bar
,因此请将文档读作
y = x['bar']
并且示例的其余部分是正确的。