Ich habe Whole_mat als Pandas df. corpus_index als gültige Zeilen, die ich in New_mat kopieren möchte, und ich möchte nur Spaltennummern 1, 4 und 7. Aber Reihenfolge sollte 7, 1, 4 sein. Unten ist, was ich versuchte, aber ich erhalte TypeError: unhashable Typ: ' Liste'. Die ganze Mattenform ist, sagen wir, Nx10, ich möchte nx3 für New_mat.Wie durch pandas Datenrahmen Schleife, um bestimmte Zeilen und ausgewählte Spalten zu extrahieren
New_mat = []
for i in range(len(corpus_index):
index = corpus_index[i]
New_mat.append(Whole_mat[[index], [7,1,4]])
print New_mat
Was könnte ein besserer Weg sein, mein Problem zu lösen?
Wahrscheinlich sollten Sie 'New_mat.append (Whole_mat.loc [index, [7,1,4]])' Wenn Sie 7, 1, 4 als Spaltennamen haben –
Das wirft errro "'Keine von [[[ 7, 1, 4]] sind in den [Spalten] '". Muss ich Spaltennamen als String angeben? wie ["user_id", "phone_no"]? – impossible
Ja, du solltest. Sie könnten auch 'columns' mit' New_mat.append (Whole_mat.loc [index, Whole_mat.columns [7,1,4]]) 'übergeben. * Hinweis * Index begann von 0. –