2016-06-25 4 views
0

Ich habe Datenrahmen mit einer unterschiedlichen Anzahl von Kopfdaten. Ich muss die Headerdaten entfernen (dh einen neuen Datenframe erstellen, der nur die Daten hinter diesem Header enthält)Erstellen von Datenrahmen aller Zeilen NACH variierenden Anzahl von Kopfdaten Python Pandas

Ich habe den folgenden Code verwendet, um die Zeile zu finden, in der die Kopfdaten enden.

df = xlsx_file.parse('ActualSheet',header= None)  
value_list = ['var1','var2'] 
df_Header = df[df[0].isin(value_list) & (df[1].isin(value_list))] 

Der obige Code funktioniert und erstellt einen Datenrahmen der letzten Zeile der Kopfdaten.

Ich habe Probleme beim Erstellen eines neuen Datenrahmens aus den ursprünglichen Daten, die nur die Zeilen NACH diese Zeile "df_Header" enthält.

Jede Hilfe ist willkommen, ich weiß, die Antwort ist schon da draußen, aber ich konnte es nicht finden.

+0

machen möchten Could Sie posten bitte Beispiele _input_ und _output_ data sets (5-7 Zeilen im CSV/dict/JSON/Python-Code-Format __als Text__, so könnte man es beim Codieren verwenden) und beschreiben was Möchten Sie mit den Eingabedaten arbeiten, um Ausgabedaten zu erhalten? [Wie man ein minimales, komplettes und überprüfbares Beispiel erstellt] (http://stackoverflow.com/help/mcve) – MaxU

+0

habe meine Antwort schon bekommen. Werde das nächste Mal eine Frage haben. Danke – brandog

Antwort

1

IIUC können Sie es auf diese Weise tun:

df = df[df_Header.index.max():] 

oder

df = df[~(df[0].isin(value_list) & (df[1].isin(value_list)))] 

PS Sie auch die Verwendung von header und/oder skiprows Parameter der read_excel() Funktion

+0

Danke! so einfach. Der erste Weg hat für mich funktioniert. der zweite Weg nicht. weil es nur das Wahr entfernte, wollte ich keine Reihen vor der wahren Aussage. Trotzdem danke nochmal! – brandog

Verwandte Themen