이 영역을 누르면 첫 페이지로 이동
웬디의 기묘한 이야기 블로그의 첫 페이지로 이동

웬디의 기묘한 이야기

페이지 맨 위로 올라가기

웬디의 기묘한 이야기

C/C++ Windows Hooking 개발자의 블로그 입니다! 이곳은 개발 외에도 저의 취미들이 공유되는 기묘한 이야기가 펼쳐집니다.

[Python] Pandas를 이용하여 주식 종목 코드 가져오기! 한국 거래소 (KRX).

  • 2019.12.26 00:09
  • ⌨ DEVELOPMENT/Python
반응형

주식 거래를 할 때 회사들을 일련의 코드로써 나열을 하게 됩니다. 그렇다면 주식의 정보를 가져오기 위해서는 코스피(KOSPI)와 코스닥(KOSDAQ)의 종목 코드 목록을 알아야 하는데요, 3000여 개나 되는 코드를 하나하나 찾는 건 개발자 스타일이 아니니 공식 데이터를 제공하는 한국 거래소 (KRX)를 통해 가져오도록 하겠습니다.

한국 거래소에서는 상장법인목록을 엑셀 파일로 다운로드할 수 있게 제공이 되기 때문에 한결 수월하네요

 

 

그렇다면 가장 먼저 pandas가 설치되어있어야겠죠?

저는 구글 콜라보레이터를 이용하여 테스트를 해볼 계획입니다. 구글 콜라보 레이터에는 기본적인 외부 모듈들이 설치되어있기 때문에 그냥 사용하면 되지만 만약 설치가 필요한 경우 pandas를 설치 후 작업을 진행하면 되겠습니다.

# pandas 설치하기
pip install pandas
import pandas as pd

# excel 파일을 다운로드하는거와 동시에 pandas에 load하기
# 흔히 사용하는 df라는 변수는 data frame을 의미합니다.
df = pd.read_html('http://kind.krx.co.kr/corpgeneral/corpList.do?method=download', header=0)[0]

해당 링크는 한국거래소에서 상장법인목록을 엑셀로 다운로드하는 링크입니다.

다운로드와 동시에 Pandas에 excel 파일이 load가 되는 구조입니다. c++ 개발자인 저로써는 정말 신세계입니다..

 

Pandas를 이용하면 너무나도 간단합니다.

Pandas는 Python의 대표적인 데이터 분석 툴로써 데이터 조작 및 분석을 위한 막강한 기능들을 제공합니다.

주로 데이터 프레임 형태의 기계 학습에 많이 사용되며, Pandas는 csv, excel 등과 같은 다양한 파일 형식의 데이터를 가져올 수 있습니다. 또한 groupby, join, merge, melt, concatenation과 같은 다양한 데이터 조작 작업뿐만 아니라 null값 채우기, 바꾸기 또는 대치와 같은 데이터 정리 기능을 허용합니다.

 

그럼 데이터가 어떻게 들어가있는지 한번 확인해볼까요??

 

df.head()

df.head()를 호출하게되면 5개의 데이터를 확인할 수 있음

df.head()를 입력하니 상위 5개의 데이터가 보이네요 만약 더 많은 데이터를 보고 싶은 경우 df.head(10) 등 보고싶은 만큼의 개수를 입력하면 되며, 만약 마지막 데이터를 확인하고 싶은 경우 df.tail()을 입력하면 데이터를 확인할 수 있습니다.

 

df.tail()

 

해당 데이터에서 정렬이 따로 필요하지는 않지만 테스트겸 Pandas sort_values를 이용하여 정렬을 시도해봅니다.

# pandas data frame을 '상장일' 기준으로 정렬 (ascending=[True], [False]로 오름차순, 내림차순 정렬)
df = df.sort_values(['상장일'], ascending=[True])

df.head()

상장일 순으로 데이터가 정렬된 모습

 

하지만 불필요한 데이터가 아주 많습니다.

제가 필요한 데이터는 '회사명'과 '종목코드'정도 되는것같네요

그렇다면 딱 필요한 정보만 사용할 수 있도록 data frame을 조금 정리해보도록 하겠습니다.

 

df = df[['회사명', '종목코드']]

df.head()

 

필요한 정보만을 가지도록 데이터 정리

 

위의 테이블 Title인 '회사명', '종목코드' 도 간단하게 변경이 가능합니다.

df = df.rename(columns={'회사명': 'name', '종목코드': 'code'})

df.head()

 

 

너무나도 간단한 방법으로 3800여 개나 되는 데이터를 회사명과 종목코드로 정리했습니다.

앞으로 해당 데이터를 이용하여 주식 정보를 획득하는 등 다양한 활용에 사용해볼 계획입니다.

 

pandas_datareader를 이용하여 주식 데이터 가져오기!

https://wendys.tistory.com/174

 

[Python] pandas_datareader를 이용하여 주식 데이터 가져오기! Yahoo Finance

저번 시간에 pandas를 이용하여 한국 거래소(KRX)의 주식 종목 코드를 가져왔었는데요, 이번에는 코스피(KOSPI), 코스닥(KODAQ) 주식 종목 코드를 이용하여 원하는 회사의 주식 정보를 가져와보려 합니다. https:..

wendys.tistory.com

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'⌨ DEVELOPMENT > Python' 카테고리의 다른 글

[Python] backtrader를 이용한 주식 전략 백테스팅 시뮬레이션  (9) 2020.01.04
[Python] 네이버 Finance API를 이용한 ETF 종목 가져오기  (10) 2020.01.02
[Python] pandas 주식정보 이동평균(moving average) 구하기  (1) 2019.12.29
[Python] pandas 주식정보로 스토캐스틱(Stochastic Oscillator) 구하기  (3) 2019.12.28
[Python] pandas_datareader를 이용하여 주식 데이터 가져오기! Yahoo Finance  (3) 2019.12.26
Python django vs Flask. web framework 무엇을 선택해야할까?  (6) 2019.12.25
Google Colaboratory 소개 및 사용법 : 주피터 노트북 (jupyter notebook)  (2) 2019.12.16
[Python] 파이썬 설치 및 개발 환경 설정 Visual Studio 연동방법  (2) 2019.10.09

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [Python] pandas 주식정보로 스토캐스틱(Stochastic Oscillator) 구하기

    [Python] pandas 주식정보로 스토캐스틱(Stochastic Oscillator) 구하기

    2019.12.28
  • [Python] pandas_datareader를 이용하여 주식 데이터 가져오기! Yahoo Finance

    [Python] pandas_datareader를 이용하여 주식 데이터 가져오기! Yahoo Finance

    2019.12.26
  • Python django vs Flask. web framework 무엇을 선택해야할까?

    Python django vs Flask. web framework 무엇을 선택해야할까?

    2019.12.25
  • Google Colaboratory 소개 및 사용법 : 주피터 노트북 (jupyter notebook)

    Google Colaboratory 소개 및 사용법 : 주피터 노트북 (jupyter notebook)

    2019.12.16
다른 글 더 둘러보기

정보

웬디의 기묘한 이야기 블로그의 첫 페이지로 이동

웬디의 기묘한 이야기

  • 웬디의 기묘한 이야기의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록
  • 이야기

카테고리

  • 분류 전체보기 (204)
    • MY STORY (2)
    • 📸 WALKING WITH YOU (85)
      • 아이슬란드 신혼여행 이야기 (14)
      • 대한민국 구석구석 (62)
      • CONTAX N1 + T* 28-80mm (4)
      • SAMSUNG NX3000 (1)
      • 어느 멋진 날 (4)
    • ⌨ DEVELOPMENT (80)
      • BOOK:Review (1)
      • AI (13)
      • C++ (26)
      • Python (10)
      • WIndows Hooking (9)
      • Windows Kernel (3)
      • Design Pattern (3)
      • Debugging (9)
      • Tools (0)
      • Project (1)
      • Android (1)
      • 상업용 무료폰트 (4)
    • OS (4)
      • News (0)
      • Windows 일반 (4)
    • 모바일 (2)
      • 모바일 게임 (2)
    • 멘사 퍼즐 (9)
    • 생활 꿀 TIP (7)
      • 건강 (3)
      • 일상 (2)
    • 물생활 (8)
      • 골든볼 라미네지 롱핀 (8)
    • IT 기기 (2)
    • BLOG (4)
      • TISTORY BLOG TIP (3)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • AI
  • windbg
  • 신혼여행
  • 카페
  • 해외여행
  • 아이슬란드
  • c
  • c++

나의 외부 링크

  • kernel undocument api
  • 지구 관찰자의 일기
  • 지구와 지구곰

정보

WENDYS의 웬디의 기묘한 이야기

웬디의 기묘한 이야기

WENDYS

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © WENDYS. Designed by Fraccino.

티스토리툴바