以here为例:
dt = np.dtype([('name', np.unicode_, 16), ('grades', np.float64, (2,))])
x = np.array([('Sarah', (8.0, 7.0)), ('John', (6.0, 7.0))], dtype=dt)
如何仅访问“grades”数组中位置0处的成绩
因为我对如何获取一个特定人的分数的模糊性,也就是说,因为我可以
>>> x['grades'][0]
>>> [8.0 7.0]
或者
>>> x[0]['grades']
>>> [8.0 7.0]
这两个都会得到相同的结果,我看不出有什么办法,我将只能访问0位的等级,但对所有的人。有办法吗
我不会写字
>>> x[0]['grades'][0]
>>> 8.0
或者像这样的组合
>>> x[:]['grades'][0]
>>> x[0]['grades'][:]
同一点:为什么“grades”字段的形状声明为“(2,)”,而“(2)”、“[2,]”、“[2]”和“2”似乎给出相同的结果
这将为每个人打印
grades
的一年级:或者:
输出:
说明:
x[:]['grades']
(或x['grades']
)生成二维数组。实际上,它产生了一个由grade
值组成的一维数组,但是grade
的每个值本身就是一个一维数组。最终结果,二维数组:[[8. 7.] [6. 7.]]
从这个2d数组中,我们只想从每个等级中得到所有等级的第一个等级,因此我们使用索引
[:,0]
相关问题 更多 >
编程相关推荐