What's this Wie man Numpys Ndarray mischt. Die Indizierung von ndarray dient nur als Referenz. Sie müssen also eine Kopie erstellen und diese dann zuweisen.
shuffle_ndarray.py
import numpy
import random
#Erstellen Sie zunächst eine geeignete Matrix
a = [
[1, 2, 3],
[5, 6, 7],
[9, 10, 11],
[12, 13, 14]
]
nda = numpy.array(a)
#Mischen (doppelt so viele Zeilen)
for i in range(nda.shape[0] * 2) :
index_a = random.randint(0, nda.shape[0]-1)
index_b = random.randint(0, nda.shape[0]-1)
#Als Referenz sind beide das gleiche Element
#nda[index_a], nda[index_b] = nda[index_b], nda[index_a]
#Machen Sie eine Kopie und ersetzen Sie jede
nda[index_a], nda[index_b] = numpy.array(nda[index_b]), numpy.array(nda[index_a])