2016-07-19 14 views
1

Ich habe einen Datenrahmen Namen es df I wie seine erste und zweite colums (Serie) haben will, in variable x und y .Wie bekomme ich eine bestimmte DataFrame-Spalte in Pandas?

Ich hätte das durch den Namen der Spalte wie df['A'] oder df['B'] oder etwas ähnliches getan.

Aber Problem hier ist, dass Daten selbst Header und es hat keinen Namen. Header ist wie 2.17, 3.145 so.

Also meine Frage ist:

a) Wie Spalt zu benennen und die Daten beginnen (die jetzt von Kopf beginnt) direkt nach dem Namen?

b) Wie erhalten wir die Daten einer bestimmten Spalte, wenn wir den Namen nicht kennen oder den Namen nicht haben?

Vielen Dank.

+0

Dies hängt davon ab, wie die Daten eingelesen werden. Geben Sie Details zur Erstellung des DataFrame an. – Alex

+0

Ich habe es im CSV-Format gelesen pd.read_csv ('kndkma') –

+0

Darf ich wissen, warum downvote? wer auch immer. –

Antwort

0

Vielleicht möchten Sie die documentation on indexing lesen.

Für das, was man in der Frage angegeben, Sie

x, y = df.iloc[:, [0]], df.iloc[:, [1]] 
2

Stellen Sie die names kwarg verwenden können, wenn die Datenrahmen zu lesen (siehe read_csv docs.

Also statt pd.read_csv('kndkma') Verwendung pd.read_csv('kndkma', names=['a', 'b', ...]).

+0

Die Dokumentation empfiehlt, auch 'header = None' | zu setzen names: "Liste der zu verwendenden Spaltennamen. Wenn die Datei keine Kopfzeile enthält, sollten Sie explizit header = None übergeben" – cel

+0

@cel Es scheint redundant zu sein. – ayhan

+0

@ayhan, ja ich denke im Moment ist es nicht unbedingt erforderlich - doch wenn die Dokumentation dies explizit vorschlägt, würde ich es auch verwenden. – cel

0

Normalerweise ist es einfacher, die Spalten zu benennen, wenn Sie den DataFrame lesen oder erstellen, aber Sie können die Spalten auch mit einem Namen benennen (oder umbenennen):

df.columns = ['A','B', ...] 
Verwandte Themen