我有一个数字列表,它们表示另一个程序产生的矩阵或数组的展平输出,我知道原始数组的尺寸,并想将这些数字读回到列表列表或NumPy矩阵中。原始数组中的尺寸可能超过2个。
例如
data = [0, 2, 7, 6, 3, 1, 4, 5]
shape = (2,4)
print some_func(data, shape)
将产生:
[[0,2,7,6],[3,1,4,5]]
提前加油
用途numpy.reshape
:
>>> import numpy as np
>>> data = np.array( [0, 2, 7, 6, 3, 1, 4, 5] )
>>> shape = ( 2, 4 )
>>> data.reshape( shape )
array([[0, 2, 7, 6],
[3, 1, 4, 5]])
您也可以直接分配给shape
的属性data
,如果你想避免在内存中复制它:
>>> data.shape = shape
问题内容: 我试图创建此代码以输入m x n矩阵。我打算输入,但是代码产生了。当我输入其他m×n矩阵时,也会发生相同的情况,代码会产生行数相同的m×n矩阵。 也许您可以帮助我找到我的代码有什么问题。 问题答案: 问题出在初始化步骤上。 这段代码实际上使您的每一行都引用相同的对象。如果任何列中的任何项目发生更改-其他所有列都将发生变化: 您可以在嵌套循环中初始化矩阵,如下所示: 或者,通过使用列表理
问题内容: 像这样的多维列表可以通过执行转换为一维列表。谁能解释一下这是怎么回事? 响应者说,该技术只能用于“平化”二维列表- 不适用于较高的多维列表。但是,如果重复的话,确实如此。例如,如果A是3D列表,则sum(sum(A())[[]),[])将A展平为一维列表。 问题答案: 使用运算符将一个序列加在一起。例如。第二个参数是一个可选的起始值,默认为0 。 在您的示例中,它确实将2个列表连接在一
问题内容: 我有一个包含树数据的数组(按父ID)。我想将其转换为多维数组。做到这一点的最佳方法是什么?是否有任何简短功能? 源数组: 源数组中缺少某些父母。我希望缺少父项的项成为根。结果数组: 更新:删除方括号。 问题答案: 我认为PHP中没有内置函数可以做到这一点。 我尝试了以下代码,似乎可以按照您描述的方式准备嵌套数组: 我在为演示文稿SQL和PHP中的层次模型编写的PHP类中编写了类似的算法
我已经从图像中加载了一个数字高程图图像(一个浮点高度图),我正在数组中的每个2x2平方子矩阵上迭代,并执行计算并对结果求和。 此操作非常慢,因为我正在使用的高程图可能非常大(16Kx16K),而纯 Python 循环方法比 numpy 或 scipy 慢得多(或者我是这么读的)。但是,我找不到有关如何迭代多维 numpy 数组块的任何具体信息。 例如,如果我有以下3x3 Numpy数组(请记住,这
我想写一个函数,可以对给定的数组进行深度展平。例如: 我尝试递归地解决这个问题,到目前为止,我得到了: 然而,这只会将非数组元素推向结果,并完全忽略串联部分。我该如何解决这个问题,或者有没有更好的方法来编写这个函数,而无需任何外部库的帮助?
我想把一个多项选择题列表读成一个多维数组在Java,文件的格式是:问题,answer1,answer2,answer3,answer4,CorretAnswer。 一公里有几米?,1,10,100,1000,4,彩虹童谣里哪种颜色不是?,蓝色,粉色,黑色,橙色,3一个足球队在场上有几个队员?,10,11,12,13,2 所以我希望数组的格式为question[][],如果n是1,那么questio