在Python中将输出转换为2D数组
我用两个二维数组和两个for循环做了一些计算 我得到的答案是几个独立的数字 有没有什么方法可以将答案转换成一个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
[[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]])