我有一个以numpy ndarray形式存在的数组:
inputs = np.array([[1],[2],[3]])
我怎样才能将这个
ndarray
转化为一个deque
(collections.deque
),以便保留结构(数组的数组),并且可以使用普通的deque方法,如popleft()
和append()
?例如:inputs.popleft()
->>> [[2],[3]]
inputs.append([4])
->>> [[2],[3], [4]]
我有一个以numpy ndarray形式存在的数组:
inputs = np.array([[1],[2],[3]])
ndarray
转化为一个deque
(collections.deque
),以便保留结构(数组的数组),并且可以使用普通的deque方法,如popleft()
和append()
?例如:inputs.popleft()
->>> [[2],[3]]
inputs.append([4])
->>> [[2],[3], [4]]
我认为你可以直接将inputs
传递给deque
from collections import deque
i = deque(inputs)
In [1050]: i
Out[1050]: deque([array([1]), array([2]), array([3])])
In [1051]: i.popleft()
Out[1051]: array([1])
In [1052]: i
Out[1052]: deque([array([2]), array([3])])
In [1053]: i.append([4])
In [1054]: i
Out[1054]: deque([array([2]), array([3]), [4]])
稍后,当您想要将numpy.array
返回时,只需将deque传回numpy即可。
np.array(i)
Out[1062]:
array([[2],
[3],
[4]])
嗯,我认为你可以这样做:
inputs = np.array([[1],[2],[3]])
inputs = collections.deque([list(i) for i in inputs])
inputs.append([4])
inputs.popleft()
编辑。
inputs = np.array([1],[2],[3])
results in: ValueError: only 2 non-keyword arguments accepted
- wiki
inputs
是一个二维数组,形状为 (3,1)。我们通常不将其描述为数组的数组。尽管当您对其进行迭代时,确实会得到 1 个元素数组。inputs.tolist()
是一个纯嵌套列表。list(inputs)
是一个数组列表。 - hpaulj