2016-10-12 46 views
3

我想追加一個空行在數據幀的末尾,但無法這樣做,甚至試圖瞭解大熊貓如何使用附加功能,仍然沒有得到它。使用熊貓追加數據框中的空行

下面的代碼:

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')) 

有兩列和行的隨機數。

與「打印F」爲循環我得到這個:

       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

你能解釋一下代碼嗎?它很難衡量你想要追加什麼 - 行,列或數據框? – user3667569

+0

@ user3667569我在xlsx中有多行和2列的數據,我需要在最後添加一個空行。 for循環只是我嘗試不用的運氣。 –

回答

4

您可以通過附加一個系列的數據幀如下添加。我假設你的意思是你想添加一個只包含「Nan」的行。 您可以先用Nan創建一個Series對象。確保在指定-Index參數中的'Series'對象時指定列。 你可以將它附加到DF。希望能幫助到你!

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

我不明白我需要做什麼來添加「南」行。 –

+0

如何將我當前的xlsx數據添加到DataFrame中? –

+0

只需將您當前的數據加載到您的數據框中即可。然後替換此行中的索引參數以滿足您的需要:s2 = pd.Series([Nan,Nan,Nan,Nan],index = ['A','B','C','D'])。 – user3667569

-1

正確的功能是:

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

下面的代碼適用於我。

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