2 回答
TA贡献1779条经验 获得超6个赞
堆栈对我有用:
In [191]: A,B,C = np.zeros((2,2),int),np.ones((2,2),int),np.arange(4).reshape(2,
...: 2)
In [192]: x = [[A,B,C],[C,B,A]]
In [193]:
In [193]: x
Out[193]:
[[array([[0, 0],
[0, 0]]), array([[1, 1],
[1, 1]]), array([[0, 1],
[2, 3]])], [array([[0, 1],
[2, 3]]), array([[1, 1],
[1, 1]]), array([[0, 0],
[0, 0]])]]
In [194]: np.stack(x)
Out[194]:
array([[[[0, 0],
[0, 0]],
[[1, 1],
[1, 1]],
[[0, 1],
[2, 3]]],
[[[0, 1],
[2, 3]],
[[1, 1],
[1, 1]],
[[0, 0],
[0, 0]]]])
In [195]: _.shape
Out[195]: (2, 3, 2, 2)
stack视图x作为2个项目的列表,并适用np.asarray于每个项目。
In [198]: np.array(x[0]).shape
Out[198]: (3, 2, 2)
然后添加一个尺寸(1,3,2,2),并在第一个轴上串联。
在这种情况下np.array(x)效果也一样
In [201]: np.array(x).shape
Out[201]: (2, 3, 2, 2)
添加回答
举报