Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中将输出转换为2D数组_Python_Arrays_Numpy - Fatal编程技术网

在Python中将输出转换为2D数组

在Python中将输出转换为2D数组,python,arrays,numpy,Python,Arrays,Numpy,我用两个二维数组和两个for循环做了一些计算 我得到的答案是几个独立的数字 有没有什么方法可以将答案转换成一个2D数组?像这样: [[6.0, 10.9], [24.0, 33.8]] 这是我的代码: import numpy as np for i in range(1, 3): arr2d_1 = np.array([[1, 2, 3], [4, 5, 6]]) arr2d_2 = np.array([[2, 2, 2], [2, 2, 2]]) for j in

我用两个二维数组和两个for循环做了一些计算

我得到的答案是几个独立的数字

有没有什么方法可以将答案转换成一个2D数组?像这样:

[[6.0, 10.9], [24.0, 33.8]]
这是我的代码:

import numpy as np

for i in range(1, 3):
    arr2d_1 = np.array([[1, 2, 3], [4, 5, 6]])
    arr2d_2 = np.array([[2, 2, 2], [2, 2, 2]])
    for j in range(0,2):
        res = (arr2d_1*i+arr2d_2*j)/arr2d_1*i
        sum_res = np.sum(res)
        print(sum_res)
结果是:

6.0
10.900000000000002
24.0
33.8
只需使用:

import numpy as np

result = []
for i in range(1, 3):
    arr2d_1 = np.array([[1, 2, 3], [4, 5, 6]])
    arr2d_2 = np.array([[2, 2, 2], [2, 2, 2]])

    r = []
    for j in range(0,2):
        res = (arr2d_1*i+arr2d_2*j)/arr2d_1*i
        sum_res = np.sum(res)
        r.append(sum_res)
    result.append(r)

print(result) # or np.array(result)
输出:

[[6.0, 10.900000000000002], [24.0, 33.8]]

您正在将每个完整的内部
循环迭代的中间结果存储在每个外部迭代的新列表中

是的,因此在这个特定的解决方案中,您可以首先构建一个带有零的二维数组,并用相关计算填充每个元素

results = np.zeros([2,2])
for i in range(1, 3):
    arr2d_1 = np.array([[1, 2, 3], [4, 5, 6]])
    arr2d_2 = np.array([[2, 2, 2], [2, 2, 2]])
    for j in range(0,2):
        res = (arr2d_1*i+arr2d_2*j)/arr2d_1*i
        sum_res = np.sum(res)
        results[i-1,j] = sum_res

results
->
array([[ 6. , 10.9],
       [24. , 33.8]])
但更广泛地说,您可以使用np.reforme()来获得您喜欢的数组

array = np.array([1,2,3,4)
array.reshape(2,2)
-> 
array([[1, 2],
       [3, 4]])