임포트 먼저.
import pandas as pd
import numpy as np
pandas를 가져온다 pd로써
numpy를 가져온다 np로써
실행.
colab 폴더에 엑셀파일 올리고,
새 코드 작성.
무척 많다.
앞에 5개만 보려면 .head()
뒤에 5개만 보려면 .tail() *5개가 기본값임.
10개 보려면 .tail(10)
-------------------------------------------------------------------------------
숫자들 소수점 둘째 자리까지만 나오게?(일시에 하고 끄면 됨)
새 코드 작성.
pd.options.display.float_format = '{:.2f}'.format
ctrl+enter로 실행. 이제 쓰레기통에 버려도 된다.
다시 아까 엑셀파일 읽어온 곳. 다시 실행해보면 이제 소수점이 줄어 있다.
--------------------------------------------------------------------------------------------------------------
어제 오른 종목들만 골라보기?
= change_rate가 0보다 큰 종목들만 골라달라는 것.
*change_rate? 어제보다 오늘 얼마나 올랐냐? 라는 것.
보기 좋게 컨디션 만들자. ** change_rate가 0보다 큰 것
df['change_rate'] > 0
또는
df[df['change_rate'] > 0]
이렇게 앞에 한번더 df 달고 실행해도 똑같이 나온다.
-----------------------------------------------------------------------------------------------------------------------------------
per가 0인 종목들 제거하기? (아래는 강의자료상...)
df = df[df['per']>0]
선생님은, 아까 체인지레이트>0 에 이어서 아래처럼 쓰던데, 나는 오류뜬다. 왜지.
cond = df['change_rate']>0
df = df[cond]
cond = df['per']>0
df = df[cond]
df
-------------------------------------------------------------------------------------------------------------------------------
순이익, 종가를 추가하기?
per = (시가총액)/(순이익) = (주가)/(주당순이익,eps)
∴ (주가) = (per) * (주당순이익,eps)
∴ (순이익) = (시가총액)/(per)
df['earning'] = df['marketcap']/df['per']
df['close'] = df['per']*df['eps']
시가총액marketcap을 per로 나눈 것을 earning이라 하여 추가한다.
per를 eps로 나눈 것을 close라 하여 추가한다.
--------------------------------------
date 칼럼을 없애라?
del df['date']
df
df 출력하면 date가 사라진 걸 볼 수 있다!
------------------------------------
(pbr < 1) & (시총 1조 이상) & (per < 20) 을 추려보기
condition을 한번에 넣어보자는 이야기예요.
df = pd.read_excel('종목데이터.xlsx')
cond = df['change_rate'] > 0
df = df[cond]
cond = df['per'] > 0
df = df[cond]
df['earning'] = df['marketcap']/df['per']
df['close'] = df['per']*df['eps']
del df['date']
cond = (df['pbr'] < 1) & (df['marketcap'] > 1000000000000) & (df['per'] < 20)
df = df[cond]
df
cond에서 &&&로 연결하면 된다.
------------
시총순으로 정렬해볼까?
df.sort_values(by='marketcap', ascending = False)
내림차순이면 as
cending = False로.
'개발일지_파이썬for금융인' 카테고리의 다른 글
분석하기(2) - 데이터 모으기 (0) | 2023.04.04 |
---|---|
yahoo query 라이브러리 설치하기 (0) | 2023.04.04 |
라이브러리: 판다스pandas 넘파이numpy (0) | 2023.03.28 |
파일 읽어서, 이미지 다운받기 (0) | 2023.03.27 |
파일 읽기 (0) | 2023.03.27 |