将numpy三维阵列转换为1d二维阵列

2024-04-19 02:03:49 发布

您现在位置:Python中文网/ 问答频道 /正文

如何将三维数字阵列转换为子维度阵列? 例如,我有一个3D numpy数组shape(100,3,3),我想把它转换成100个2D数组shape(3,3)的向量?在


Tags: numpy数字数组向量shape
2条回答

为此,请使用numpy.split函数。假设你有

my_array = np.zeros((100, 3, 3))

使用:

^{pr2}$

从中可以得到一个数组,其中包含100个形状为(1,3,3)的数组。如果您想得到一个带有(3,3)数组的列表,只需使用列表理解:

my_list = [my_array[i] for i in range(np.shape(my_array)[0])]

一。在

根据this answer,为了使单个3x3数组成为savemat中的单元元素,需要这样做:

import numpy
A = numpy.zeros((100,3,3))
B = numpy.empty((100,), dtype=numpy.object)
for i in range(100): B[i] = A[i,:,:]

相关问题 更多 >