너도 알고 나도 아는 그 판다스. 파이썬에서 제공하는 컨테이너보다 훨씬 빠른 속도와 편리성을 제공해서 데이터 분석 분야에선 거의 필수로 쓴다.
!pip install pandas numpy
import pandas as pd
import numpy as np
참고로 코랩에 붓꽃데이터같은게 기본으로 있어서 가져다 쓰면 된다. 근데 울프람 매스메티카에도 그런거 있는거 보면 다른데도 기본적으로 다 있는듯??
data = {
'name' : ['영수','철수','영희','소희'],
'age' : [20,15,38,8]
}
df = pd.DataFrame(data)
df
doc = {
'name':'세종',
'age':14,
}
df = df.concat(doc,ignore_index=True)
df['city'] = ['서울','부산','부산','서울','서울']
df[['name','city']] 이런 식으로 원하는 열만 출력할 수도 있다.
df[조건] 으로 True 인 행만 가져올 수도 있다.
cond = df['age'] < 20
df[cond]
- cond = (df['age'] < 20) & (df['age'] > 5) 처럼 조건을 여러 개 넣을 수도 있다.
df.iloc[-1,0] # 마지막 행
df.iloc[0,0] # 첫 행
리스트 슬라이랑 비슷하다
df.sort_values(by='age',ascending=True)
- age 열의 값을 기준으로 정렬함
- ascending : 오름차순 (False -> 내림차순)
df['is_adult'] = np.where(df['age'] > 20,'성인','청소년')
df['age'].mean() # 평균
df['age'].max() # 최대값
df['age'].min() # 최소값
df['age'].count() # 나오는 횟수
df = pd.read_excel('종목데이터.xlsx') #엑셀 파일 불러옴
df.head(10) # 위에서 10 개 행 불러옴 (뒤에서부터 불러오는건 tail())
pd.options.display.float_format = '{:.2f}'.format
소수점 둘째 자리까지만 나오게 함.
df[df['change_rate'] > 0]
# 어제 오른 종목들 골라보기
# per = 시가총액 / 순이익 = 주가 / 주당순이익
# -> 주가 = per * 주당순이익
df['close'] = df['per'] * df['eps']
# -> 순이익 = 시가총액 / per
df['earning'] = df['marketcap'] / df['per']
del df['date'] #'date' 열을 삭제함