Da:Zusammenführen von zwei Listen von unterschiedlicher Größe in eine Matrix
X = [[1, 0, 1, 1], [1, 1, 1, 1], [1, 0, 0, 0]]
y = [1, -1, 0]
X = np.asarray(X, np.uint8)
y = np.asarray(y, np.int8).T
con = np.concatenate(X, y)
print(con)
Wo X
sollte einen Datensatz mit einer Größe sein, (3,4) und y
sind die Klassen-Etiketten jeder Zeile in der Matrix X
. Zum Beispiel hat X[0]= [1, 0, 1, 1]
ein Klassenlabel gleich 1 in y[0]
, d. H. y[0]=1
. Ich möchte X
und y
zusammen in eine Matrix der Größe (3,5) zusammenführen, wobei die neue Spalte die y
Liste ist. Aber der vorherige Code gibt mir diesen Fehler:
Traceback (most recent call last):
File "test.py", line 38, in <module>
con = np.concatenate(X, y)
TypeError: only integer scalar arrays can be converted to a scalar index
Ich bin mir nicht sicher, wie es zu beheben ist. Jede Hilfe wird geschätzt.
Erstellen Sie ein Array von geeigneter Größe und dann die Werte aus den Listen zuordnen? –
Werfen Sie einen Blick auf die Dokumentation! Hinweis: '' '' verketten ((a1, a2, ...), ... '' '. (Und ich würde concat der aproach im obigen Kommentar bevorzugen) – sascha
sind Sie nach' con = np.hstack ((X , y.reshape (-1,1))) '? – MaxU