【发布时间】:2023-01-26 18:36:23
【问题描述】:
我正在尝试使用numpy.reshape 重塑长度为 155369 的 numpy 数组,但由于 155369 没有精确的平方根,我们将其四舍五入,重塑函数给出了错误ValueError: cannot reshape array of size 155369 into shape (394, 394)
size = int(numpy.sqrt(index))
reshaped = numpy.reshape(data[:index], (size, size))
如何正确地重塑这个数组?
【问题讨论】:
-
好吧,你不能。想一想如何将 10 个元素的数组重塑为 3x3 矩阵。您有 3 个选择:重塑为 4x4 矩阵并用一些玩具值填充额外的元素。 2)丢弃矩阵中的元素,直到它的大小为 9 或 3)不要重塑为方阵,而是 5x2 矩阵(或更接近正方形的因素的组合)
-
手动删除其他条目,然后重塑。 Numpy 很智能,它不会让你丢失数据