我尝试将一个10x2的数组转换为记录,通过给每列命名。
我是这样尝试的:
t = arange (10)
>>> n = dstack([t,
roll (t, 1),
roll (t, -1)])[0]
... ... >>>
>>> n = n[:,1:3]
>>> n
array([[9, 1],
[0, 2],
[1, 3],
[2, 4],
[3, 5],
[4, 6],
[5, 7],
[6, 8],
[7, 9],
[8, 0]])
>>> nt = [('left', int), ('right', int)]
>>> array (n, nt)
array([[(9, 9), (1, 1)],
[(0, 0), (2, 2)],
[(1, 1), (3, 3)],
[(2, 2), (4, 4)],
[(3, 3), (5, 5)],
[(4, 4), (6, 6)],
[(5, 5), (7, 7)],
[(6, 6), (8, 8)],
[(7, 7), (9, 9)],
[(8, 8), (0, 0)]],
dtype=[('left', '<i8'), ('right', '<i8')])
>>>
令我惊讶的是,每行的元素都是元组而不是int类型的数字。
我该如何纠正这个问题,并使n的每一行看起来像[9,1]
而不是[(9, 9), (1, 1)]
?