Pandas 기초
Pandas , numpy 라이브러리 import
import pandas as pd
import numpy as np
기본 DataFrame 만들어보기
data = {
'name' : ['영수','철수','영희','소희'],
'age' : [20,15,38,8]
}
DataFrame 다루기 - 기초
행 추가하기
doc = {
'name':'세종',
'age':14,
}
df = df.append(doc,ignore_index=True)
Colums 추가하기
df['city'] = ['서울','부산','부산','서울','서울']
특정 Column만 뽑아보기
대괄호를 두 번 해야 DataFrame 형식으로 반환됨
df[['name','city']]
원하는 조건에 맞는 행만 뽑아보기
df[df['age'] < 20]
특정 행에서의 뽑아보기
df.iloc[-1,0] # 마지막 행
df.iloc[0,0] # 첫 행
DataFrame 다루기 - 연산
열을 정렬하기
df.sort_values(by='age',ascending=True)
조건에 맞는 열을 추가하기
np.where(df['age'] > 20,'성인','청소년')
df['is_adult'] = np.where(df['age'] > 20,'성인','청소년')
평균, 최대값, 최소값, 갯수 구하기
df['age'].mean()
df['age'].max()
df['age'].min()
df['age'].count()
퀴즈 - 서울에 사는 사람 중 나이가 가장 많은 사람은 몇 살?
df[df['city'] == '서울']['age'].max()
⇒ 또는
df[df['city'] == '서울'].sort_values(by='age',ascending=False).iloc[0,1]
엑셀 가져오기
엑셀을 DataFrame으로 읽기
pd.read_excel('종목데이터.xlsx')
소수점둘째자리
pd.options.display.float_format = '{:.2f}'.format
Pandas 실전
어제 오른 종목들만 골라보기
df[df['change_rate'] > 0]
per가 0 인 종목들을 제거하기
df = df[df['per'] > 0]
순이익, 종가를 추가하기
per = 시가총액 / 순이익 = 주가 / 주당순이익
df['earning'] = df['marketcap'] / df['per']
df['close'] = df['per'] * df['eps']
date 컬럼을 없애기
del df['date']
pbr < 1 & 시총 1조 이상 & per < 20 을 추려보기
cond = (df['marketcap'] > 1000000000000) & (df['pbr'] < 1) & (df['per'] < 20)
df[cond]
시총이 큰 순서대로 보기
df[cond].sort_values(by='marketcap', ascending=False)
평균, 표준편차 등의 정보를 보기 (함께하기)
df[cond].describe()
해외주식 다루기 - yfinance
yfinance 라이브러리 설치하기
!pip install yfinance
yfinance 라이브러리 불러오기
import yfinance as yf
⇒ yfinance 라이브러리 전체 사용법 → https://pypi.org/project/yfinance/