안녕하세요 한소희입니다. 공부를 통해 배운 내용을 작성하고 있습니다. 혹여 해당 포스팅에서 잘못된 부분이 있을 경우, 알려주시면 빠르게 수정 조치하도록 하겠습니다. 감사합니다.
지난 포스팅에 이어, 기초 of 기초인 데이터 로드와 라이러리 임포트 관련 포스팅이다.
라이브러리란 무엇인가?
파이썬 내부에 있는 만들어진 일종의 문법서. 독서실에서 책을 뽑아 와 읽듯, 우리는 이 라이브러리를 import하여 만들어진 함수로 다양한 업무를 수행할 수 있다. 앞선 포스팅에서의 pandas 가 이의 예시다.
이번 포스팅에서는 필요한 라이브러리를 import 해서, 재무회계 데이터를 load 해볼 것이다.
그 후, Data의 demension도 확인해보고, 재무회계 통계 데이터의 결측치를 간단하게 zerofill 해보는 작업을 진행할 것이다.
이전 포스팅을 보지 않았다면, 앞선 포스팅을 참고하자. 링크는 아래와 같다.
목차
라이브러리 import, 데이터 load 연습
데이터 확인 (dimension, 결측치 채우기)
1. 라이브러리 import, 데이터 로드 연습¶
In [ ]:
# 필요한 라이브러리 import
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
In [ ]:
# 데이터 로드
data_url='https://ds-lecture-data.s3.ap-northeast-2.amazonaws.com/stocks/Travel.xlsx'
data_1 = pd.read_excel(data_url)
data_2 = pd.read_excel(data_url, sheet_name='035250')
In [ ]:
data_1.head(2)
Out[ ]:
주요재무정보 | 매출액 | 영업이익 | 영업이익(발표기준) | 세전계속사업이익 | 당기순이익 | 당기순이익(지배) | 당기순이익(비지배) | 자산총계 | 부채총계 | 자본총계 | 자본총계(지배) | 자본총계(비지배) | 자본금 | 영업활동현금흐름 | 투자활동현금흐름 | 재무활동현금흐름 | CAPEX | FCF | 이자발생부채 | 영업이익률 | 순이익률 | ROE(%) | ROA(%) | 부채비율 | 자본유보율 | EPS(원) | PER(배) | BPS(원) | PBR(배) | 현금DPS(원) | 현금배당수익률 | 현금배당성향(%) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2019/09\n(IFRS연결) | 14753.0 | 574.0 | 574.0 | 376.0 | 274.0 | 277.0 | -3.0 | 37747.0 | 28854.0 | 8893.0 | 8889.0 | 4.0 | 2000.0 | 1652.0 | -284.0 | -900.0 | 159.0 | 1493.0 | 19035.0 | 3.89 | 1.86 | 13.18 | 3.62 | 324.45 | 395.10 | 692.0 | 31.19 | 23484.0 | 3.67 | 0.0 | 0.0 | 0.00 |
2019/12\n(IFRS연결) | 15440.0 | 776.0 | 776.0 | 538.0 | 380.0 | 380.0 | 0.0 | 35273.0 | 26077.0 | 9195.0 | 9192.0 | 4.0 | 2000.0 | -480.0 | -208.0 | 1230.0 | 109.0 | -589.0 | 15615.0 | 5.03 | 2.46 | 20.16 | 5.81 | 283.59 | 411.78 | 950.0 | 21.40 | 24282.0 | 3.74 | 350.0 | 0.0 | 34.94 |
In [ ]:
data_2.head(2)
Out[ ]:
주요재무정보 | 매출액 | 영업이익 | 영업이익(발표기준) | 세전계속사업이익 | 당기순이익 | 당기순이익(지배) | 당기순이익(비지배) | 자산총계 | 부채총계 | 자본총계 | 자본총계(지배) | 자본총계(비지배) | 자본금 | 영업활동현금흐름 | 투자활동현금흐름 | 재무활동현금흐름 | CAPEX | FCF | 이자발생부채 | 영업이익률 | 순이익률 | ROE(%) | ROA(%) | 부채비율 | 자본유보율 | EPS(원) | PER(배) | BPS(원) | PBR(배) | 현금DPS(원) | 현금배당수익률 | 현금배당성향(%) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2019/09\n(IFRS연결) | 4055.0 | 1392.0 | 1392.0 | 1554.0 | 1286.0 | 1286.0 | 0.0 | 41698.0 | 4781.0 | 36917.0 | 36916.0 | 0.0 | 1070.0 | -22.0 | -1260.0 | -4.0 | 167.0 | -189.0 | 48.0 | 34.33 | 31.72 | 8.27 | 7.20 | 12.95 | 3513.86 | 601.0 | 21.00 | 18209.0 | 1.62 | 0.0 | 0.0 | 0.00 |
2019/12\n(IFRS연결) | 3728.0 | 641.0 | 641.0 | 769.0 | 526.0 | 526.0 | 0.0 | 44381.0 | 7204.0 | 37178.0 | 37177.0 | 0.0 | 1070.0 | 2067.0 | -2370.0 | -4.0 | 383.0 | 1684.0 | 680.0 | 17.18 | 14.11 | 9.16 | 7.72 | 19.38 | 3538.24 | 246.0 | 18.92 | 18337.0 | 1.61 | 900.0 | 0.0 | 346.75 |
2-1. 데이터셋의 Dimension 확인¶
In [ ]:
data_1=pd.DataFrame(data_1)
print("data_1의 디멘션: ", data_1.shape, '\n')
data_2=pd.DataFrame(data_2)
print("data_2의 디멘션: ", data_2.shape)
data_1의 디멘션: (32, 9)
data_2의 디멘션: (32, 9)
2-2. 데이터셋의 결측치 확인 후 0으로 채우기¶
In [ ]:
data_1.set_index(keys='주요재무정보',inplace=True)
data_1=data_1.T
print("data_1의 null 위치: \n",data_1.isnull())
data_1= data_1.fillna(0)
print("\n data_1의 null값 채운 후의 null 위치: \n",data_1.isnull(), '\n')
data_1의 null 위치:
주요재무정보 매출액 영업이익 영업이익(발표기준) ... 현금DPS(원) 현금배당수익률 현금배당성향(%)
2019/09\n(IFRS연결) False False False ... False True False
2019/12\n(IFRS연결) False False False ... False True False
2020/03\n(IFRS연결) False False False ... True True False
2020/06\n(IFRS연결) False False False ... True True False
2020/09\n(IFRS연결) False False False ... True True True
2020/12(E)\n(IFRS연결) False False True ... True True True
2021/03(E)\n(IFRS연결) False False True ... True True True
2021/06(E)\n(IFRS연결) False False True ... True True True
[8 rows x 32 columns]
data_1의 null값 채운 후의 null 위치:
주요재무정보 매출액 영업이익 영업이익(발표기준) ... 현금DPS(원) 현금배당수익률 현금배당성향(%)
2019/09\n(IFRS연결) False False False ... False False False
2019/12\n(IFRS연결) False False False ... False False False
2020/03\n(IFRS연결) False False False ... False False False
2020/06\n(IFRS연결) False False False ... False False False
2020/09\n(IFRS연결) False False False ... False False False
2020/12(E)\n(IFRS연결) False False False ... False False False
2021/03(E)\n(IFRS연결) False False False ... False False False
2021/06(E)\n(IFRS연결) False False False ... False False False
[8 rows x 32 columns]
In [ ]:
data_2.set_index(keys='주요재무정보',inplace=True)
data_2=data_2.T
print("data_2의 null 위치: \n",data_2.isnull())
data_2= data_2.fillna(0)
print("\n data_2의 null값 채운 후의 null 위치: \n",data_2.isnull(), '\n')
data_2의 null 위치:
주요재무정보 매출액 영업이익 영업이익(발표기준) ... 현금DPS(원) 현금배당수익률 현금배당성향(%)
2019/09\n(IFRS연결) False False False ... False True False
2019/12\n(IFRS연결) False False False ... False True False
2020/03\n(IFRS연결) False False False ... True True True
2020/06\n(IFRS연결) False False False ... True True False
2020/09\n(IFRS연결) False False False ... True True True
2020/12(E)\n(IFRS연결) False False True ... True True True
2021/03(E)\n(IFRS연결) False False True ... True True True
2021/06(E)\n(IFRS연결) False False True ... True True True
[8 rows x 32 columns]
data_2의 null값 채운 후의 null 위치:
주요재무정보 매출액 영업이익 영업이익(발표기준) ... 현금DPS(원) 현금배당수익률 현금배당성향(%)
2019/09\n(IFRS연결) False False False ... False False False
2019/12\n(IFRS연결) False False False ... False False False
2020/03\n(IFRS연결) False False False ... False False False
2020/06\n(IFRS연결) False False False ... False False False
2020/09\n(IFRS연결) False False False ... False False False
2020/12(E)\n(IFRS연결) False False False ... False False False
2021/03(E)\n(IFRS연결) False False False ... False False False
2021/06(E)\n(IFRS연결) False False False ... False False False
[8 rows x 32 columns]
'데이터 공부 > Python' 카테고리의 다른 글
Pandas - 고객 구매 데이터 데이터 전처리 연습 (0) | 2021.08.19 |
---|---|
05. 데이터 시각화 (0) | 2021.06.04 |
04. String Manipulation (0) | 2021.06.04 |
03. 데이터 셋 병합 (Concat, Merge) (0) | 2021.06.01 |
01. Pandas 기본사용법 / Ipynb 파일 -> HTML 파일 변환 방법 (0) | 2021.06.01 |