파이썬 데이터 분석_개발일지_4주차
#목표
1. 데이터 분석을 기획할 수 있다.
2. 분석을 위한 가설을 세울 수 있다.
3. 데이터 분석 노트를 작성할 수 있다.
#1 - 주식 데이터를 분석하기
데이터 불러오기
import pandas as pd
code = pd.read_csv('./data/corpgeneral.csv', header=0)
code.head(5)
온라인에서 최신 코드 데이터 가져오기:
code = pd.read_html('http://kind.krx.co.kr/corpgeneral/corpList.do?method=download', header=0)[0]
데이터 전처리
# 필요한 데이터 자르기
code = code[['회사명', '종목코드']]
# 컬럼명 바꾸기
code_result = code.rename(columns={'회사명': 'corp', '종목코드': 'code'})
원하는 종목 코드 가져오기
corp_name = "카카오"
condition = "corp=='{}'".format(corp_name)
kakao = code_result.query(condition)
kakao = kakao['code']
kakao_string = kakao.to_string(index=False)
kakao_string = kakao_string.strip()
kakao_code = kakao_string.rjust(6, '0')
kakao_code
import pandas_datareader.data as web
kakao_stock_df = web.DataReader(kakao_code, 'naver') # 네이버로 변경
kakao_stock_df
그래프 그리기
kakao_stock_df['Close'] = kakao_stock_df['Close'].astype(int)import pandas_datareader.data as web
kakao_stock_df['Close'].plot()
#2 - 분석한 데이터로 인사이트 얻기
두 데이터가 어느 정도의 상관관계를 가지고 있는지를 분석한다.
-
피어슨 상관계수
상관계수는 1부터 -1까지 존재한다. 절대값이 1에 가까울 수록 강한 상관관계가 있다. 0.4~0.6 사이의 값을 가지면 상관관계가 있다고 판단한다. -
데이터 준비
import pandas as pd
import pandas_datareader.data as web
from datetime import datetime
code = pd.read_csv('./data/corpgeneral.csv', header=0)
code = code[['회사명', '종목코드']]
code_result = code.rename(columns={'회사명': 'corp', '종목코드': 'code'})
# 회사명으로 주식 종목 코드를 획득할 수 있도록 하는 함수
def get_code(code_result, corp_name):
condition = "corp=='{}'".format(corp_name)
code = code_result.query(condition)['code'].to_string(index=False)
# 위와같이 code명을 가져오면 앞에 공백이 붙어있는 상황이 발생하여 앞뒤로 sript() 하여 공백 제거
code = code.strip()
code = code.rjust(6, '0')
return code
- 상관관계 그래프 그리기
companies = ['삼성전자', 'LG전자', '카카오', 'NAVER', 'CJ', '한화', '현대자동차', '기아자동차']
start = datetime(2019,1,1)
end = datetime(2019,12,31)
stocks_of_companies = pd.DataFrame({'Date': pd.date_range(start=start, end=end)})
for company in companies:
company_code = get_code(code_result, company)
stock_df = web.DataReader(company_code, 'naver', start, end)
stocks_of_companies = stocks_of_companies.join(pd.DataFrame(stock_df['Close'].astype(int)).rename(columns={'Close':company}), on='Date')
corr_data = stocks_of_companies.corr()
import matplotlib.pyplot as plt
import seaborn as sns
# Apple은 'AppleGothic', Windows는 'Malgun Gothic'을 추천
plt.rcParams['font.family'] = "Malgun Gothic"
plt.rcParams['axes.unicode_minus'] = False # 마이너스 기호 깨지는 걸 막아줘요
plt.figure(figsize=(10,10))
sns.heatmap(data = corr_data, annot=True, fmt = '.2f', linewidths=.5, cmap='Blues')
plt.show()
#3 - 나만의 보고서 만들기
- 구글 데이터 스튜디오
Author And Source
이 문제에 관하여(파이썬 데이터 분석_개발일지_4주차), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kjh8673a/파이썬-데이터-분석개발일지4주차저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)