Verwendung. np.append
ist nur eine andere Möglichkeit, concatenate
aufzurufen, eine, die statt einer Liste 2 Argumente benötigt. Beide sind relativ teuer und erzeugen bei jedem Aufruf ein neues Array. Außerdem ist es schwierig, den Anfangswert korrekt zu ermitteln, wie Sie wahrscheinlich herausgefunden haben.
Liste append ist der richtige Weg, um ein Array zu erstellen. Das Ergebnis wird eine Liste oder Liste von Listen sein. Diese kann am Ende in ein Array mit np.array
oder einer der stack
(konkatenate) Funktionen umgewandelt werden.
Versuchen:
values=[]
for i in range(diff.shape[0]):
add=np.array([[i,j,k,fScore,costMST,1]])
values.append(add)
values = np.stack(values)
Seit add
2d ist, diese Verwendung von stack
eine 3d machen. Vielleicht möchten Sie stattdessen vstack
(oder np.concatenate(values, axis=0)
ist das gleiche).
Oder versuchen:
values=[]
for i in range(diff.shape[0]):
add=[i,j,k,fScore,costMST,1]
values.append(add)
values = np.array(values)
dies macht eine Liste von Listen, die np.array
in einen 2D-Array dreht.
['mcve'] (https://Stackoverflow.com/help/mcve) könnte nett sein – Divakar
Sie könnten ein leeres Array mit' np.empty' initialisieren und einfach in diesen Index einfügen, oder Sie könnten 'np verwenden .h/v/dstack'. –
Wenn Sie eine for-Schleife verwenden, um irgendetwas in numpy zu tun, machen Sie es falsch. – gobrewers14