2016-10-12 3 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

당신은 다음과 같이 dataframe에 시리즈를 추가하여 추가 할 수 있습니다. 나는 당신이 "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

현재 데이터를 데이터 프레임에로드하기 만하면됩니다. 그런 다음이 행의 index 매개 변수를 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) 
관련 문제