将numpy数组列表转换为单个int numpy数组

我有一个numpy数组的列表,我想将其转换为单个int numpy数组。
例如,如果我4 x 4在一个维度列表中有46个numpy数组2 x 23,我想将其转换为一个单一的整数numpy2 x 23 x 4 x 4维度数组。我通过遍历每个元素并使用来找到一种实现此目的的方法numpy.stack()。有什么更好的办法吗?


炎炎设计
浏览 454回答 2
2回答

哆啦的时光机

堆栈对我有用: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]: xOut[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]: _.shapeOut[195]: (2, 3, 2, 2)stack视图x作为2个项目的列表,并适用np.asarray于每个项目。In [198]: np.array(x[0]).shapeOut[198]: (3, 2, 2)然后添加一个尺寸(1,3,2,2),并在第一个轴上串联。在这种情况下np.array(x)效果也一样In [201]: np.array(x).shapeOut[201]: (2, 3, 2, 2)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python