注意: 我找到答案并回答了我自己的问题,但我必须等待2天才能接受我的答案。
如何使用除零以外的其他值初始化800 x 800的numpy数组? :
array = numpy.zeros((800, 800))
我正在寻找这样的解决方案,我可以在其中传递值列表(或列表)。
array = numpy.array([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]])
修改 我不想用相同的值填充它。
我想要一个快速的代码示例,演示如何在没有像我在其他问题中找到的详细示例那样工作。我还想要一些简单易懂的东西,比如将python数组转换为numpy数组。我也在寻找2D阵列的具体情况。
答案 0 :(得分:3)
您可以使用fill方法初始化数组。
x = np.empty(shape=(800,800))
x.fill(1)
答案 1 :(得分:1)
自己找到答案: 这段代码做了我想要的,并且表明我可以放一个python数组(“a”)并让它变成一个numpy数组。对于我将其绘制到窗口的代码,它将其颠倒了,这就是我添加最后一行代码的原因。
# generate grid
a = [ ]
allZeroes = []
allOnes = []
for i in range(0,800):
allZeroes.append(0)
allOnes.append(1)
# append 400 rows of 800 zeroes per row.
for i in range(0, 400):
a.append(allZeroes)
# append 400 rows of 800 ones per row.
for i in range(0,400):
a.append(allOnes)
#So this is a 2D 800 x 800 array of zeros on the top half, ones on the bottom half.
array = numpy.array(a)
# Need to flip the array so my other code that draws
# this array will draw it right-side up
array = numpy.flipud(array)