Python Numpy在第二轴上列出
我想基于内部轴拆分一个n-d numpy阵列 我有一个形状数组Python Numpy在第二轴上列出,python,arrays,numpy,split,Python,Arrays,Numpy,Split,我想基于内部轴拆分一个n-d numpy阵列 我有一个形状数组(6150,29,29,29,1) 我想要一个数组列表-[150个形状数组(6,29,29,29,1)] 我使用了列表(a),但这给了我一个轴0上的列表 arr.transpose(1,0,2,3,4,5)或np.swapaxes(arr,0,1)将150维放在第一位。然后您可以使用列表 或者你可以使用列表 [a[:,i] for i in range(150)] 转置稍微好一些 In [28]: timeit list(arr.t
(6150,29,29,29,1)
我想要一个数组列表-[150个形状数组(6,29,29,29,1)]
我使用了列表(a)
,但这给了我一个轴0上的列表 arr.transpose(1,0,2,3,4,5)
或np.swapaxes(arr,0,1)
将150维放在第一位。然后您可以使用列表
或者你可以使用列表
[a[:,i] for i in range(150)]
转置稍微好一些
In [28]: timeit list(arr.transpose(1,0,2,3,4,5))
47.7 µs ± 47.1 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)
In [29]: timeit [arr[:,i] for i in range(150)]
88.7 µs ± 22.2 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)
In [32]: timeit list(np.swapaxes(arr,0,1))
49.2 µs ± 51.1 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)