2017-01-05 3 views
2

최종 사용 전에 데이터를 읽고 정리해야합니다. 팬더 데이터 프레임에서 연산자 체인을 사용하여 데이터 읽기, 불필요한 열 삭제, 열 이름 변경 및 일부 행 읽기

나는 별도의 독립적 인 단계에 따라 다음과 같이 그렇게하는 방법을 알고 :

data = pd.read_excel('C:\Users\pappu.a.kumar\Documents\data\coursera\python\Energy Indicators.xls',skiprows=17, skip_footer=0) 
    del data['Unnamed: 0'] 
    del data['Unnamed: 1'] 
    data.columns = ['Country', 'Energy Supply', 'Energy Supply per Capita', '% Renewable'] 
    fdata = data.ix[:226] 

지금 내가 연산자 체인을 사용하여 모든 단계를 수행합니다. 이렇게하는 내 첫 번째 시도는 아래에 기록됩니다

data = (pd.read_excel('C:\Users\pappu.a.kumar\Documents\data\coursera\python\Energy Indicators.xls',skiprows=17, skip_footer=0) 
     .(del data['Unnamed: 0']) 
     .(del data['Unnamed: 1']) 
     .(columns = ['Country', 'Energy Supply', 'Energy Supply per Capita', '% Renewable']) 
     .(ix[:226])) 

하지만이 코드는 다음과 같은 오류를 생산 : 내가 뭐하는 거지 모르는

File "", line 3

.(del data['Unnamed: 0'])

^

SyntaxError: invalid syntax

은 논리적으로 가능 여부. 가능하다면 올바른 문서 또는 코드 자체에 대한 참조는 대단히 감사 할 것입니다. 이름이 컬럼의 위치는 여전히 동일한 경우

+1

을'.drop ('이름 : 0', 축 = 1) '. – IanS

+0

감사합니다. 도움이되었습니다. @IanS –

답변

3

는 설정 새로운 콜 럼 이름을 read_excel에서 매개 변수 names를 사용하고 drop 불필요한 열을 삭제합니다.

#2 last columns are unnecessary - 2 last values of list in parameter names are 'tmp1' and 'tmp2' 
data = pd.read_excel('C:\Users\pappu.a.kumar\Documents\data\coursera\python\Energy Indicators.xls',skiprows=17, skip_footer=0, names=['Country', 'Energy Supply', 'Energy Supply per Capita', '% Renewable', 'tmp1', 'tmp2']) 
     .drop(['tmp1','tmp2'], axis=1) 
     .head(226) 

또 다른 가능한 해결책은 열 이름을 바꿀 수 있습니다 : : 선택 가능한 사용 .iloc[226], .head(226), .ix(226) 당신이 찾고있는

data = pd.read_excel('C:\Users\pappu.a.kumar\Documents\data\coursera\python\Energy Indicators.xls',skiprows=17, skip_footer=0) 
     .drop(['Unnamed: 0','Unnamed: 1'], axis=1) 
     .rename(columns={'firstcol':'Country', 'secondcol': 'Energy Supply', ...}) 
     .head(226) 
+0

@piRSquared. 축하해. 다른 사람을 무언가로 틀어 막을 수 있도록 금지 될 수 있습니까? 농담이야. –

+0

삭제 된 열이 마지막 열이 아닌 경우에도 동일하게 적용됩니까? –