我想创建一个使用嵌套循环的2D数组。这段代码有什么问题?
import numpy
b = np.array([])
for i in range(2):
for j in range(5):
b[i][j]=i+j
print(b)发布于 2019-05-06 11:29:35
您正在定义的numpy数组不是您正在使用的循环的正确形状。b = np.array([])为您提供了一个形状(0,)数组
你可以使用像np.zeros这样的东西来定义你的2D数组。
import numpy as np
b = np.zeros((3,6))
for i in range(2):
for j in range(5):
b[i][j]=i+j
print(b)输出将是
[[0. 1. 2. 3. 4. 0.]
[1. 2. 3. 4. 5. 0.]
[0. 0. 0. 0. 0. 0.]]另一种选择是创建一个2D列表,将其填充到for循环中,然后转换为numpy数组
import numpy as np
#2D array
b = [ [0 for _ in range(6)] for _ in range(3)]
#Fill up array with for loops
for i in range(2):
for j in range(5):
b[i][j]=i+j
#Convert to numpy array
print(np.array(b))输出将是
[[0 1 2 3 4 0]
[1 2 3 4 5 0]
[0 0 0 0 0 0]]https://stackoverflow.com/questions/55998442
复制相似问题