2016-10-12 11 views
3

Ich versuche, eine leere Zeile am Ende des Datenrahmens anzuhängen, aber nicht dazu in der Lage, zu verstehen, wie Pandas mit Append-Funktion arbeiten und es immer noch nicht bekommen.Eine leere Zeile im Datenrahmen mit Pandas anhängen

Hier ist der Code:

import pandas as pd 

excel_names = ["ARMANI+EMPORIO+AR0143-book.xlsx"] 
excels = [pd.ExcelFile(name) for name in excel_names] 
frames = [x.parse(x.sheet_names[0], header=None,index_col=None).dropna(how='all') for x in excels] 
for f in frames: 
    f.append(0, float('NaN')) 
    f.append(2, float('NaN')) 

Es gibt zwei Spalten und Zufallszahl der Reihe.

mit "print f" in for-Schleife diese erhalte ich:

       0     1 
0     Brand Name Emporio Armani 
2     Model number   AR0143 
4     Part Number   AR0143 
6     Item Shape  Rectangular 
8 Dial Window Material Type   Mineral 
10    Display Type   Analogue 
12     Clasp Type   Buckle 
14    Case Material Stainless steel 
16    Case Diameter 31 millimetres 
18    Band Material   Leather 
20     Band Length Women's Standard 
22     Band Colour    Black 
24     Dial Colour    Black 
26   Special Features  second-hand 
28     Movement   Quartz 
+0

Können Sie einen Code ein wenig erklären? Es ist schwer zu beurteilen, was Sie anhängen möchten - Zeile, Spalte oder Datenrahmen? – user3667569

+0

@ user3667569 Ich habe Daten in xlsx in mehreren Zeilen und 2 Spalten und ich muss eine leere Zeile am Ende hinzufügen. Die For-Schleife war nur etwas, was ich versuchte, ohne Glück. –

Antwort

4

Sie es durch Anhängen einer Serie an den Datenrahmen hinzufügen können wie folgt. Ich gehe davon aus, dass Sie mit leer wollen Sie eine Zeile hinzufügen, die nur "Nan" enthält. Sie können zuerst ein Series-Objekt mit Nan erstellen. Stellen Sie sicher, dass Sie die Spalten angeben, während Sie das Objekt "Series" im Parameter "-Index" definieren. Sie können es an den DF anhängen. Ich hoffe es hilft!

from numpy import nan as Nan 
import pandas as pd 

>>> df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'], 
...      'B': ['B0', 'B1', 'B2', 'B3'], 
...      'C': ['C0', 'C1', 'C2', 'C3'], 
...      'D': ['D0', 'D1', 'D2', 'D3']}, 
...      index=[0, 1, 2, 3]) 

>>> s2 = pd.Series([Nan,Nan,Nan,Nan], index=['A', 'B', 'C', 'D']) 
>>> result = df1.append(s2) 
>>> result 
    A B C D 
0 A0 B0 C0 D0 
1 A1 B1 C1 D1 
2 A2 B2 C2 D2 
3 A3 B3 C3 D3 
4 NaN NaN NaN NaN 
+0

Ich bekomme es nicht, was ich tun muss, um "Nan" -Zeile hinzuzufügen. –

+0

Wie füge ich meine aktuellen xlsx-Daten in DataFrame hinzu? –

+0

Laden Sie einfach Ihre aktuellen Daten in Ihren Datenrahmen. Dann ersetzen Sie den Index-Parameter in dieser Zeile, um Ihrem Bedarf zu entsprechen: s2 = pd.Series ([Nan, Nan, Nan, Nan], Index = ['A', 'B', 'C', 'D']). – user3667569

-1

Die korrekte Funktion ist:

pd.append(..., axis = 0) # axis = 0 for rows 
0

Der folgende Code funktionierte für mich.

df.append(pd.Series([np.nan]), ignore_index = True) 
Verwandte Themen