我是python的新手,我想以一种快速的方式将(m,n,1)多维数组转换为(m,n),我该怎么办?
还给定一个(m,n,k)数组,如何将其拆分为k(m,n)个数组? (k个成员中的每个成员都属于不同的数组)
答案 0 :(得分:3)
要调整数组a的形状,您可以使用a.reshape(m,n).
要沿深度维度拆分数组a,可以使用numpy.dsplit(a, a.shape[2])
。
https://docs.scipy.org/doc/numpy/reference/generated/numpy.split.html https://docs.scipy.org/doc/numpy/reference/generated/numpy.dsplit.html#numpy.dsplit
答案 1 :(得分:1)
要将形状(m,n,1)的NumPy数组arr
重塑为形状(m,n),只需使用:
arr = arr.reshape(m, n)
您可以通过以下方式从(m,n,k)形数组arr_k
中获取(m,n)形数组的列表:
array_list = [arr_k[:, :, i] for i in range(arr_k.shape[2])]