Ich hatte das gleiche Problem und konnte die Antwort von @Sven Marnach sowieso nicht kommentieren (nicht genug Wiederholung, meine Güte, ich erinnere mich, als Stackoverflow zum ersten Mal gestartet wurde ...).
Hinzufügen einer Liste von Zufallszahlen zu einer 10 x 10-Matrix.
myNpArray = np.zeros([1, 10])
for x in range(1,11,1):
randomList = [list(np.random.randint(99, size=10))]
myNpArray = np.vstack((myNpArray, randomList))
myNpArray = myNpArray[1:]
Mit np.zeros () wird ein Array mit 1 x 10 Nullen erstellt.
array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]])
Anschließend wird mit np.random eine Liste mit 10 Zufallszahlen erstellt und randomList zugewiesen. Die Schleife stapelt es 10 hoch. Wir müssen nur daran denken, den ersten leeren Eintrag zu entfernen.
myNpArray
array([[31., 10., 19., 78., 95., 58., 3., 47., 30., 56.],
[51., 97., 5., 80., 28., 76., 92., 50., 22., 93.],
[64., 79., 7., 12., 68., 13., 59., 96., 32., 34.],
[44., 22., 46., 56., 73., 42., 62., 4., 62., 83.],
[91., 28., 54., 69., 60., 95., 5., 13., 60., 88.],
[71., 90., 76., 53., 13., 53., 31., 3., 96., 57.],
[33., 87., 81., 7., 53., 46., 5., 8., 20., 71.],
[46., 71., 14., 66., 68., 65., 68., 32., 9., 30.],
[ 1., 35., 96., 92., 72., 52., 88., 86., 94., 88.],
[13., 36., 43., 45., 90., 17., 38., 1., 41., 33.]])
Also in einer Funktion:
def array_matrix(random_range, array_size):
myNpArray = np.zeros([1, array_size])
for x in range(1, array_size + 1, 1):
randomList = [list(np.random.randint(random_range, size=array_size))]
myNpArray = np.vstack((myNpArray, randomList))
return myNpArray[1:]
ein 7 x 7 Array mit Zufallszahlen 0 - 1000
array_matrix(1000, 7)
array([[621., 377., 931., 180., 964., 885., 723.],
[298., 382., 148., 952., 430., 333., 956.],
[398., 596., 732., 422., 656., 348., 470.],
[735., 251., 314., 182., 966., 261., 523.],
[373., 616., 389., 90., 884., 957., 826.],
[587., 963., 66., 154., 111., 529., 945.],
[950., 413., 539., 860., 634., 195., 915.]])