python - Numpy 列出第二轴

标签 python arrays numpy split

我想根据内轴拆分一个 n 维 numpy 数组。

我有一个形状数组 (6,150,29,29,29,1)

我想要一个数组列表 - [150 个形状数组 (6,29,29,29,1)]

我使用了 list(a),但这给了我一个轴 0 上的列表。

最佳答案

arr.transpose(1,0,2,3,4,5)np.swapaxes(arr,0,1) 将 150 维放在第一位。然后你可以使用list

或者你可以使用列表理解

[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)

关于python - Numpy 列出第二轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48873896/

相关文章:

javascript - PHP/JavaScript : how to pass array from PHP to JavaScript

python - 匹配多列并添加到数据框

javascript - 在 JavaScript 中,如何优雅地创建数组元素差异列表?

python - 无法在使用 Fixtures 的 Pytest 函数中实例化 Python 数据类(卡住)

Java:多个类和数组

Python:使用 def 和 for 循环导出列表中一系列值的多个数组

linux - pickle 的 3D 阵列比应有的大。我该如何解决?

python - scipy 中最小二乘函数的雅可比行列式的方法签名

python - 如何在声明类实例时返回 None

python - 在 matplotlib 中向图中追加一条线,轴故障