2주차에서는 해외주식 데이터 분석기초와
해외주식 다루기에 대한 내용을 배워보았다.
1편에서는 Pandas 기초와 엑셀 가져오기,
그리고 Pandas 실전에 대해 공부한 내용을 정리해보도록 하겠다.
1. Pandas 기초
1) Pandas 라이브러리 설치 및 실행
- pandas와 numpy를 설치한다.
- import pandas as pd는 pandas를 pd 라고 불러서 사용한다는 의미고,
- import numpy as np는 numpy를 np 라고 불러서 사용한다는 의미다.
- pandas를 쓸 때, numpy도 종종 함께 쓰일 일이 있기 때문에, 같이 불러온다.
2) 기본 DataFrame 만들기
- 아래와 같이 data = { 'name' : ['영수','철수','영희','소희'], 'age' : [20,15,38,8] }를 만들고,
- DataFrame을 만들어본다. > df = pd.DataFrame(data)
- 행(row) 추가는 doc에 데이터를 추가하고, df.append( )를 이용한다.
(ignore_index=True는 인덱스를 넣지 않고, 0, 1~ 로 넣겠다는 의미다. )
- 열(column) 추가는 df[' '] = [' '] 형식을 이용하고, 행 수에 맞추어 데이터를 추가한다.
- 특정 열(column)을 출력하기 위해서, 열 대괄호를 두 번 해야 DataFrame 형식으로 반환된다
- 조건에 맞는 행만 뽑기 위해서는, df[df['age'] < 20] 으로 간단하게 입력할 수 있다.
- 특정 행에서 데이터 출력을 하기 위해서는, df.iloc[몇 번째 줄,몇 번째 데이터] 형태로 입력한다.
- 정렬하여 조건에 맞는 데이터 구하기 위해서는, df.sort_values(by='행 제목',ascending=True or False)를 이용한다.
(ascending=True는 오름차순, False는 내림차순이다)
- 조건에 맞는 열을 추가하기 위해서는, df['생성하는 열 제목'] = np.where(df['age'] > 20,'성인','청소년')을 이용한다.
(age가 20 이상이면 '성인', 20미만이면 '청소년')
- 평균은 .mean(), 최대값은 .max(), 최소값은 .min(), 갯수는 .count() 을 입력하고,
- 전체 연산 값을 출력하고 싶다면 .describe()을 이용한다.
- 서울에 사는 사람중 나이가 가장 많은 사람은 아래와 같이 입력하여 구한다.
2. 엑셀 가져오기
- 홈페이지에서 제공하는 종목데이터 다운로드 후 colab에 파일을 붙여넣는다.
- 엑셀을 DataFrame으로 읽는다
- 긴 줄을 모두 볼 필요 없이 앞의 몇 줄만 보고싶은 경우엔 .head(), 뒤의 몇 줄만 보고싶은 경우엔 .tail()을 쓴다.
- 아래 코드는 데이타를 소숫점 둘째자리까지 보여준다.
pd.options.display.float_format = '{:.2f}'.format
3. Pandas 실전
- 어제 오른 종목들만 골라보고 싶다면, change_rate이 0보다 큰 값을 출력하면 된다.
- per가 0 인 종목들을 제거하고 싶다면, 0보다 큰 값을 출력 하면 된다.
- 순이익, 종가를 추가하려면 아래 코드를 이용한다. (per = 시가총액 / 순이익 = 주가 / 주당순이익)
df['earning'] = df['marketcap'] / df['per']
df['close'] = df['per'] * df['eps']
- date 컬럼을 없애려면, def df[' ']를 이용한다.
- 조건 (pbr < 1 & 시총 1조 이상 & per < 20 )을 적용하여 출력하고 싶다면, 아래와 같이 cond = (조건1) & (조건2) & (조건3)을 만들어 추가한다.
- 시총이 큰 순서대로 보고싶다면, .sort_values(by='열 제목', ascending=False)를 입력한다.
(ascending=False는 내림차순, ascending=True는 오름차순)
- 평균, 표준편차 등의 정보를 보려면, .describe()를 사용한다.
'CODING > PYTHON' 카테고리의 다른 글
[Python] 3주차_DART 데이터 내 마음대로 활용하기(2편) (Feat. 스파르타코딩클럽) (0) | 2022.12.08 |
---|---|
[Python] 3주차_DART 데이터 내 마음대로 활용하기(1편) (Feat. 스파르타코딩클럽) (1) | 2022.12.08 |
[Python] 2주차_손쉽게 다루는 해외주식(2편) (Feat. 스파르타코딩클럽) (0) | 2022.12.04 |
[Python] 1주차_주식데이터를 활용한 파이썬 데이터 분석(2편) (Feat. 스파르타코딩클럽) (0) | 2022.11.29 |
[Python] 1주차_주식데이터를 활용한 파이썬 데이터 분석(1편) (Feat. 스파르타코딩클럽) (0) | 2022.11.25 |