向numpy数组中添加不知道形状的行-Python

向numpy数组中添加不知道形状的行-Python,python,numpy,Python,Numpy,我想用循环中添加的第一行的元素数设置列数,然后再添加n个新行 在这个例子中,我想做一个3x3矩阵,但我得到了一个错误 import numpy as np import random ln1 = np.array([]) ln2 = np.array([]) for i in range(3): for j in range(3): value = np.sin((random.randint(0, 50))) ln1 = np.append(ln1

我想用循环中添加的第一行的元素数设置列数,然后再添加n个新行

在这个例子中,我想做一个3x3矩阵,但我得到了一个错误

import numpy as np
import random 

ln1 = np.array([])
ln2 = np.array([])

for i in range(3):
    for j in range(3):
        value = np.sin((random.randint(0, 50)))
        ln1 = np.append(ln1, value)
    ln2 = np.vstack((ln2, ln1))
    ln1 = np.array([])
我正试着这么做

ln1 = []
ln2 = []
for i in range(3):
    for j in range(3):
        value = np.sin((random.randint(0, 50)))
        ln1.append(value)
    ln2.append(ln1)
    ln1 = []

但是使用numpy数组。这只是一个简单的例子,可以了解更多关于numpy的知识,并将其应用到其他更复杂的问题中

为什么在使用numpy时要循环?你需要numpy吗?在内部循环的第一个过程中,它试图将一个空数组与一个3x1形状的数组堆叠在一起。您到底想要实现什么?这些行应该填充什么?我确实编辑了文章以获取更多详细信息列表版本是正确的。至于数组版本,您是否从错误(您忘记显示:())中学到了什么?您可能从理解错误中学到了更多,而不是从我们告诉您正确的方法。您是否考虑过一次设置所有数组值?
np.sin(np.random.randint(0,50,(3,3)))