【问题标题】:matrix manipulation using Python使用 Python 进行矩阵操作
【发布时间】:2019-08-28 03:10:24
【问题描述】:

这里是新手,我需要一些关于矩阵操作的帮助。

假设我有矩阵 A:3x4,我需要将其重塑为矩阵 B:12x1。

A 的第一行中的值将是 B 中的第一个 4 值,A 中的第二行将在 B 中的第 5-8 列中......等等。

详情请看图片。

我的实际项目涉及图像或 1000 x 1000 x 3 矩阵,因此我需要扩展解决方案。

为了说明:

【问题讨论】:

  • 你可能想要ravel。请不要将数据截图包含在内,问题应该是独立的。
  • 类似arr.ravel().reshape(-1, 1)
  • 嗨 Rogan,感谢您的帮助,我只是不确定我是否清楚地解释了这个问题,所以我添加了一张图片以便更好地可视化
  • 您甚至可以直接删除ravel。我开始了不同的思路。这实际上只是一次重塑。 arr.reshape(-1, 1)reshape 中的 -1 基本上是“为我修复这个维度,因为我不知道它会是什么”,在这种情况下,它只能是 1,因为您指定的行数与数据点的数量一样多.

标签: python arrays numpy matrix multidimensional-array


【解决方案1】:

numpy 是处理数组的好选择

import numpy as np
data = range(1,13)
basic_array = np.array(data).reshape(3,4)
wanted_array = basic_array.reshape(-1,1)

这也适用于图片

【讨论】:

  • 他们已经有一个 numpy 数组,并且您正在对维度进行硬编码,一旦您尝试将此方法应用于任何其他不受严格限制的问题,就会导致问题。跨度>
  • 你应该在你的重塑中使用-1 以保持一维打开
猜你喜欢
  • 2015-10-13
  • 2017-08-11
  • 1970-01-01
  • 2015-06-17
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多