Python 从阵列列表制作10x10网格
我正在努力将我的阵列列为10x10网格,我一直得到的输出不是我想要的。我希望有人能帮我Python 从阵列列表制作10x10网格,python,arrays,numpy,grid,Python,Arrays,Numpy,Grid,我正在努力将我的阵列列为10x10网格,我一直得到的输出不是我想要的。我希望有人能帮我 import numpy as np x = 1 y = 1 scale = 10 nn = [] for x in range(1,scale+1): mm = [] for y in range(1,scale+1): xy = [x,y] mm.append(xy) #print(xy) y=+1 nn.ap
import numpy as np
x = 1
y = 1
scale = 10
nn = []
for x in range(1,scale+1):
mm = []
for y in range(1,scale+1):
xy = [x,y]
mm.append(xy)
#print(xy)
y=+1
nn.append(mm)
x=+1
nn
grid_array = np.array(nn)
grid=np.meshgrid(grid_array)
但是我得到的输出不是10x10
[array([ 1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1,
9, 1, 10, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5, 2, 6, 2, 7,
2, 8, 2, 9, 2, 10, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3,
6, 3, 7, 3, 8, 3, 9, 3, 10, 4, 1, 4, 2, 4, 3, 4, 4,
4, 5, 4, 6, 4, 7, 4, 8, 4, 9, 4, 10, 5, 1, 5, 2, 5,
3, 5, 4, 5, 5, 5, 6, 5, 7, 5, 8, 5, 9, 5, 10, 6, 1,
6, 2, 6, 3, 6, 4, 6, 5, 6, 6, 6, 7, 6, 8, 6, 9, 6,
10, 7, 1, 7, 2, 7, 3, 7, 4, 7, 5, 7, 6, 7, 7, 7, 8,
7, 9, 7, 10, 8, 1, 8, 2, 8, 3, 8, 4, 8, 5, 8, 6, 8,
7, 8, 8, 8, 9, 8, 10, 9, 1, 9, 2, 9, 3, 9, 4, 9, 5,
9, 6, 9, 7, 9, 8, 9, 9, 9, 10, 10, 1, 10, 2, 10, 3, 10,
4, 10, 5, 10, 6, 10, 7, 10, 8, 10, 9, 10, 10])]
编辑
这就是我到目前为止所拥有的,谢谢大家的帮助
import numpy as np
scale = 10
array = np.empty(shape=(scale, scale, 2)).astype(int)
for x in range(1,scale+1):
for y in range(1,scale+1):
#print([x,y])
array[x-1,y-1] = [x,y]
print(array)
现在还不清楚您想要实现什么,但如果您只是想知道如何使用两个for循环生成10x10 numpy阵列,下面是您可以做的事情(但这不是最具python风格的方法):
现在还不清楚您想要实现什么,但如果您只是想知道如何使用两个for循环生成10x10 numpy阵列,下面是您可以做的事情(但这不是最具python风格的方法):
你可以用numpy来做。像这样
np.reshape(arr, (-1,10))
看。
您可以使用numpy来完成此操作。像这样
np.reshape(arr, (-1,10))
看。
您想得到什么?[array]([1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,102,1,2,2,3,2,4,2,5,2,2,2,7,2,8,2,9,2,10,3,1,3,3,4,3,5,5,3,6,3,7,3,8,3,3,9,3,10,4,1,4,2,4,4,4,4,4,4,4,4,4,4,4,你不能得到10x10,因为您有200个元素。您可以得到一个10x10x2,即
grid\u数组
。您想要得到什么?[array]([1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,102,1,2,2,3,2,4,2,5,2,2,2,7,2,8,2,9,2,10,3,1,3,3,4,3,5,5,3,6,3,7,3,8,3,3,9,3,10,4,1,4,2,4,4,4,4,4,4,4,4,4,4,4,你不能得到10x10,因为你有200个元素。你可以得到一个10x10x2,这是网格数组
。因此,从长远来看,我试图实现的是制作一个10x10网格,它将代表一条河流流经的地形景观。例如,坐标“3,3”,“4,3”,“5,3”和“6,3”代表一条河流流经地形,其余部分单元格中的一部分是陆地区域。这一点很难用词来表达,因为我对python非常陌生,但这肯定是可以实现的。好吧,那么你需要一个带有形状(10,10,2)的数据数组。即array=np.empty(shape=(scale,scale,2))
然后array[x,y]=[42,42]
因此,从长远来看,我试图实现的是制作一个10x10的网格,它将代表一条河流流经的地形景观。例如,坐标“3,3”、“4,3”、“5'3”和“6'3”代表一条河流流经地形,其余的单元格是陆地区域。这有点难以形容,因为我是个新手o python,但它绝对是可以实现的。好吧,那么你需要一个带形状(10,10,2)的数据数组。也就是说,array=np.empty(shape=(scale,scale,2))
然后array[x,y]=[42,42]