Ich bin mir nicht wirklich bewusst, welche Regeln numpy bei einigen 2D-Array-Operationen in Bezug auf die Rückgabe des Ergebnisses als 1d oder 2d-Array folgt. Lassen Sie uns das folgende Stück Codenumpy gibt 1d Array und 2d Array für den gleichen Code zurück
idx_cls_samples = sample_data[:, -1] == c
v_feature = sample_data[idx_cls_samples, f]
f_values = sample_data[[sample_data[:, -1] == c], f]
Hinweis beachten Sie, dass die letzte Zeile einfach die ersten beiden Zeilen zu einem zusammengefasst ist.
Das Ergebnis der ersten beiden Zeilen ist ein numpy Vektor des Formulararrays ([1, 2, 3, ...]) und das Ergebnis der letzten Zeile ist Array ([[1, 2, 3, .. .]]) und ich glaube, das Ergebnis sollte Array ([1], [2], [3], ...)) in beiden Fällen sein. Wie kann ich vorher herausfinden, welches Format wird numpy wählen, um das Ergebnis zurückzugeben?
Die letzte Zeile ist nicht ganz die gleiche, 'sample_data [sample_data [:, -1] == c, f]' wäre das gleiche (legte einen zusätzlichen Satz von Klammern) –
Danke, dass Sie darauf hingewiesen haben. – user3575732