python - 如何移动 numpy 矩阵的一维?

标签 python numpy matrix

我有一个形状为 (480, 640, 3) 的矩阵 A,我想使用这些值来填充另一个矩阵 B code>,形状为 (3, 480, 640)。我已经尝试过 numpy.reshape(A, B.shape),但我认为这不起作用。

对于某些上下文,480 和 640 尺寸是图像的帧高度和宽度,3 尺寸用于颜色 (RGB) 值。

(我正在寻找一种有效的方法来做到这一点,而不是一堆嵌套的 for 循环。)

最佳答案

我认为您想要交换或滚动轴。让我们从 3 维数组开始:

>>> mat = np.arange(24).reshape(2, 4, 3)
>>> mat.shape
(2, 4, 3)

现在,让我们用交换轴重新排序轴:

>>> mat.swapaxes(0, 2).swapaxes(1, 2).shape
(3, 2, 4)

或者,让我们滚动轴:

>>> rolled = np.rollaxis(mat, 2)
>>> rolled.shape
(3, 2, 4)

关于python - 如何移动 numpy 矩阵的一维?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38909243/

相关文章:

python - 在带有日期的python中有条件地删除行

python - 保留满足两个或多个条件的 numpy 数组的值

python - 有没有一种更简单快捷的方法来获取索引字典,其中包含列表或 numpy 数组中相同元素的索引

Python字符串列表2D

opencv - 膨胀/侵 eclipse - 矩阵内核左上角与中间的 anchor

Python Popen WHOIS OS 命令失败测试

python - 给定一个 Redis Broker 和一个数据库后端,Celery Task 请求首先写入哪里?

python - Python/Numpy 中包含 NAN 的数组的线性回归

python - 不同大小向量的 Numpy 乘法避免循环

python - 如何在 Python 中将货架对象转换为字典对象