본문 바로가기

Week I Learned

[파이썬]스파르타코딩클럽2주차:손쉽게 다루는 해외주식-데이터분석기초, 해외주식다루기

주식으로 배워보는 파이썬.

주식도 모르고 파이썬도 모르니 막막하군.. 일단 무조건 따라해보자.

 

오늘 배울 것 : pandas, dataframe, yfinance

pandas 는 데이터분석하는 사람들은 매우 익숙한 라이브러리라고 함. 

아주 유용하니 잘 배워두라고..ㅎㅎ

 

판다스의 dataframe 형식을 이용하면 깔끔하게 표형태로 데이터를 볼수 있게 해준다고..

데이터가 얼마나 크든지 상관없이.

 

 

설치

pandas와 numpy 설치

!pip install pandas numpy

import

import pandas as pd
import numpy as np

pandas를 불러서 pd로 쓰겠다는 뜻

numpy를 불러서 np로 쓰겠다는 뜻.

 

기본 DataFrame만들어보기

data = {
    'name' : ['영수','철수','영희','소희'],
    'age' : [20,15,38,8]
}

df = pd.DataFrame(data)
df

(* DataFrame에서 D와 F는 대문자로!)

결과값은?

 이게 DataFrame을 만드는 아주 기초.

주식데이터를 이용한  Pandas 실전

1) 엑셀데이터를 끌어다가 colab에 붙이기 -> 그냥 드래그로 끌어올 수 있음!

2) 엑셀을 DataFrame으로 읽기 / df변수에 넣기

pd.read_excel('종목데이터.xlsx')

df = pd.read_excel('종목데이터.xlsx')

3) 이러면 긴 줄을 모두 볼 필요 없이 앞에서5개, 뒤에서 5개 골라 볼 수 있다. ()안에 숫자를 넣으면 그만큼 보여줌

df.head()

df.tail()

df.head(20)
df.tail(20)

* 소수점 둘째자리까지 보여주기 명령어

pd.options.display.float_format = '{:.2f}'.format

이제 진짜 실전으로 가보자.

1) 어제 오른 종목들만 골라보기

change_rate가 0보다 큰 종목들만 보여주면 됨.

df[df['change_rate'] > 0]

2) per가 0 인 종목들을 제거하기

df = df[df['per'] > 0]

3) 순이익, 종가를 추가하기 : 살짝 연산 필요 .... 여기는 이해못함 주식개념까지 필요함.

per = 시가총액 / 순이익 = 주가 / 주당순이익

df['close'] = df['per'] * df['eps']
df['earning'] = df['marketcap'] / df['per']

4) date 컬럼을 없애기

del df['date']

5) pbr < 1 & 시총 1조 이상 & per < 20 을 추려보기

cond = (df['marketcap'] > 1000000000000) & (df['pbr'] < 1) & (df['per'] < 20)
df[cond]

...  여기부터는 따라가기 실패.

주식도 모르겠고 파이썬도 모르겠다 크앙