1) 기본 DataFrame 만들기
data = {
'name' : ['영수','철수','영희','소희'],
'age' : [20,15,38,8]
}
⇒ 그리고, 다음을 입력해서 DataFrame을 만들어봅니다.
df = pd.DataFrame(data)
⇒ 여기서 df 를 입력하면, 표를 볼 수 있습니다.
⇒ 이렇게, DataFrame은 “딕셔너리” 형태로 표현된 데이터를 표로 바꿔주는 역할을 한답니다.
⇒ 맨 왼쪽은 이 데이터들의 “index”라는 것이에요. 지금은 자동으로 생성이 되었네요!
2) 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] # 첫 행
3) 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]
[코드스니펫] 종목데이터
[종목데이터.xlsx](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/c56afbb0-804e-4202-af8c-48d68d2b25ae/종목데이터.xlsx)
⇒ 엑셀파일을 끌어다가 colab에 붙여볼게요!
pd.read_excel('종목데이터.xlsx') ⇒ 이렇게, df 변수에 넣어둘까요?df = pd.read_excel('종목데이터.xlsx') ⇒ 이렇게 하면 긴 줄을 모두 볼 필요 없이 앞의 5개만 볼 수 있습니다.df.head()
df.tail()
df.head(20)
df.tail(20) ⇒ 소수점 둘째자리까지만 보면 좀 더 심플합니다.[코드스니펫] 소수점둘째자리
```python
pd.options.display.float_format = '{:.2f}'.format
```
pd.options.display.float_format = '{:.2f}'.format
1) 어제 오른 종목들만 골라보기
df[df['change_rate'] > 0]
2) per가 0 인 종목들을 제거하기
df = df[df['per'] > 0]
3) 순이익, 종가를 추가하기
👉 per = 시가총액 / 순이익 = 주가 / 주당순이익
df['earning'] = df['marketcap'] / df['per']
df['close'] = df['per'] * df['eps']
4) date 컬럼을 없애기
del df['date']
5) 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 를 가져와야 합니다.pip install yfinanceimport yfinance as yfcompany = yf.Ticker('TSLA')company.info🌎 전체 사용법을 둘러보고 싶다면 → https://pypi.org/project/yfinance/
name = company.info['shortName']
industry = company.info['industry']
marketcap = company.info['marketCap']
revenue = company.info['totalRevenue']
print(name,industry,marketcap,revenue)company.balance_sheet
company.cashflow
company.earningscompany.institutional_holders
company.recommendations
company.calendarnews = company.news
for n in news:
print(n['title'])