2016-06-22 38 views
-2

Bevor ich meinen Ausgabedatenrahmen in eine Excel-Datei schreiben kann, muss ich meinem Dataframe eine zusätzliche Zeile hinzufügen. Unten ist mein Beispiel Datenrahmen:So fügen Sie eine zusätzliche Zeile zum Pandas Dataframe bei Index 2 hinzu, ohne den vorhandenen Index zu überschreiben

----------------------------- 
    | Col1 | Col2 | Col3 | Col4 | 
    ----------------------------- 
0 | CA1 | CB1 | CC2 | CD1 | 
1 | CA5 | CB5 | CC5 | CD5 | 
2 | CA3 | CB3 | CC3 | CD3 | 
    ----------------------------- 

myDict = { 'Col1': 'P', 'Col2': 'Q', 'Col3': 'R', 'Col4': 'S'}

Jetzt muss ich eine zusätzliche Zeile hinzufügen, wo neue Zeilenwerte von Mydict entsprechend der Spaltenüberschrift ausgewählt werden sollen.

gewünschte Ausgabe:

----------------------------- 
    | Col1 | Col2 | Col3 | Col4 | 
    ----------------------------- 
    | P | Q | R | S | 
0 | CA1 | CB1 | CC2 | CD1 | 
1 | CA5 | CB5 | CC5 | CD5 | 
2 | CA3 | CB3 | CC3 | CD3 | 
    ----------------------------- 

Kann jemand bitte helfen.

+0

Mögliche Duplikat [Wie eine zusätzliche Zeile zu einem Pandas Datenrahmen hinzufügen] (http://stackoverflow.com/questions/19365513/how-to-a-extra-row-to-a-pandas-datenframe) – David

+0

Meine Frage ist anders. Ich muss eine neue Zeile bei Index 2 hinzufügen. Wenn ich es so mache, wird die bestehende Zeile überschrieben? Wollte auch wissen, wie man Werte von mydict für entsprechende Spaltenüberschriften erhält. Vielen Dank. – Rtut

+0

Ich bin verwirrt ... Ist das Ihre gewünschte Ausgabe? Möchten Sie eine Zeile an einer gewünschten Position einfügen oder mehrere Namen für jede Spalte erhalten? –

Antwort

0

Wird dies für Sie funktionieren? Zuerst konvertieren mydict zu einem Datenrahmen und verwenden Sie dann pd.concat

mydict = mydict= {'Col1': 'P', 'Col2': 'Q', 'Col3': 'R', 'Col4': 'S'} 
df1 = pd.DataFrame(data=mydict, index=[0]) 

data = np.array([['CA1', 'CB1', 'CC2', 'CD1'], 
       ['CA5', 'CB5', 'CC5', 'CD5'], 
       ['CA3', 'CB3', 'CC3', 'CD3']]) 
df2 = pd.DataFrame(data, columns=['Col1', 'Col2', 'Col3', 'Col4']) 

new_df = pd.concat([df1, df2]) 

Dann new_df ist

In [58]: new_df 
Out[58]: 
    Col1 Col2 Col3 Col4 
0 P Q R S 
0 CA1 CB1 CC2 CD1 
1 CA5 CB5 CC5 CD5 
2 CA3 CB3 CC3 CD3 
+0

Ehrfürchtig. Es funktionierte! Vielen Dank – Rtut

Verwandte Themen