본문 바로가기
개발일지/Pandas

pandas excel 가져오기 루틴

by 다니엘의 개발 이야기 2022. 7. 8.
320x100
import pandas as pd

percapitaGDP = pd.read_excel('../data-cleansing-main/Chapter01/data/GDPpercapita.xlsx',
                            sheet_name = 'OECD.Stat export',
                            # 열값 4개를 스킵한다.
                            skiprows = 4,
                            # 가장 아래의 열값을 1개 스킵한다.
                            skipfooter = 1,
                            usecols = 'A,C:T')

 

percapitaGDP.head()

 

# 이 결과값으로 인해서 null 값이 1열 있는것을 알게되었다.
percapitaGDP.info()

 

# 확실한 확인을 위해서 써줬다.
percapitaGDP.isnull().sum()

 

percapitaGDP.rename(columns={'Year':'metro'}, inplace=True)

 

# 앞에 공백이 있는 필드가 있는가.
percapitaGDP.metro.str.startswith(' ').any()

 

# 뒤에 공백이 있는 필드가 있는가.
percapitaGDP.metro.str.endswith(' ').any()

 

# strip()을 해줌으로써 앞뒤 공백을 제거하겠다.
percapitaGDP.metro = percapitaGDP.metro.str.strip()

 

percapitaGDP.head()

 

# 데이터 열들을 기존의 object에서 float 자료형으로 바꿔준다.
for col in percapitaGDP.columns[1:]:
    # errors ='coerce'는 모든 에러에 대해서도 강제로 변환해준다.라는 뜻이고, 이건 해석하자면, errors는 null 값으로 바꿔준다고 봐도 될것같다
    percapitaGDP[col] = pd.to_numeric(percapitaGDP[col], errors = 'coerce')
    # 컬럼(열) 값을 pcGDP로 시작하는 문자로 바꿔준다. 왜냐하면 파이썬 문법 구조상 숫자로 시작하는건
    # 특정 명령어 입력시, 인식을 못할 수 있기 때문이다.
    percapitaGDP.rename(columns={col:'pcGDP'+col}, inplace=True)

 

percapitaGDP.head()

 

percapitaGDP.dtypes

 

percapitaGDP.describe()

 

# subset로 지정된 범위내에서
# how = 'all'을 통하여 지정된 열의 값이 모두 누락되었을 경우, 해당 행을 드롭한다.
percapitaGDP.dropna(subset = percapitaGDP.columns[1:], how = 'all', inplace=True)

 

percapitaGDP.describe()

 

percapitaGDP.head()

 

percapitaGDP.shape

 

percapitaGDP.metro.count()

 

# metro 열 중에서 고유한 값을 갯수화 해서 가져온다. (일종의 count 이지만, 중복값 제거버전 count라고 보면 됨)
percapitaGDP.metro.nunique()

 

# 기존의 인덱스 값을 없애고, 그 자리에 metro의 열 값이 들어간다.
percapitaGDP.set_index('metro', inplace=True)
percapitaGDP.head()

 

# AUS02~~~라는 값을 가진 행 (가로)loc 의 값을 모두 가져온다.
percapitaGDP.loc['AUS02: Greater Melbourne']
300x250

'개발일지 > Pandas' 카테고리의 다른 글

pandas 기초1  (0) 2022.07.14
pymssql 설치에러 해결!  (0) 2022.07.08
pandas로 데이터 가져오기 루틴 1 (csv파일 읽기)  (0) 2022.07.08
mac m1 Jupyter notebook 설치 방법  (0) 2022.07.08
판다스(pandas) KeyError  (0) 2022.06.17