본문 바로가기

Python

(57)
<판다스 금융 데이터 분석> Chapter 2-3 데이터 타입 2-3 데이터 타입 파이썬에서 정수(int), 실수(float), 문자열(str)과 같은 기본 데이터 타입이 존재한다. 기본 데이터 타입은 사용하기 편리하지만, 항상 데이터를 넉넉한 공간에 저장하기 때문에 메모리 및 보조 저장 장치의 공간을 효율적으로 사용할 수 없다. 공간을 많이 차지하기 때문에 대용량의 데이터를 처리하는 시간이 오래 걸릴 수도 있다. 정보를 표현하는 최소 단위를 비트(bit)라고 한다. 컴퓨터는 1비트로 0과 1을 구분할 수 있어서 총 $2^1$개의 숫자를 표현할 수 있다. 2비트를 사용한다면, $00_2$, $01_2$, $10_2$, $11_2$을 구분할 수 있으니 $2^2$개, 16비트를 사용한다면 $2^16$개의 숫자를 구분할 수 있다. 2비트로 양수는 0부터 3까지 네 개의 ..
<핀다스 금융 데이터 분석> Chapter 2-2 ndarray 2-2 ndarray 이번 절에서는 넘파이의 핵심 자료구조인 ndarray 객체에 대해 좀 더 자세히 공부해 보겠다. 파이썬에 리스트, 튜플, 딕셔너리와 같은 기본 데이터 타입이 있는 것처럼 넘파이에는 다차원 배열을 위한 ndarray 클래스(타입)을 제공한다. 1차원 리스트를 넘파이의 array 함수에 전달하면 쉽게 ndarray 객체로 변환할 수 있다. 범용적인 용도로 사용되는 파이썬 리스트 타입을 행렬과 다차원 배열에 최적화된 ndarray 타입으로 변환하는 것이다. In [2]: import numpy as np data1 = [1, 2, 3, 4] arr1 = np.array(data1) print(arr1) print(type(arr1)) [1 2 3 4] ndarray 객체는 리스트와 달리 ..
<판다스 금융 데이터 분석> Chapter 2-1 넘파이 소개 2-1 넘파이 소개 아나콘다 배포판에는 넘파이가 포함돼 있어서 1.1절과 같이 개발 환경을 설정했다면 바로 이용할 수 있다. 하지만 아나콘다 배포판을 사용하지 않는다면 주피터 노트북에 다음 명령을 실행해서 넘파이를 설치해야한다. 주피터 노트북에서 pip와 같은 외부 명령을 실행하려면 느낌표를 붙여야 한다. In [ ]: !pip install numpy 넘파이를 사용하기 위해서는 패키지를 임포트 해야 한다. 많은 사람이 넘파이를 다음과 같은 형태로 사용하니 가독성 향상을 위해 같은 방식으로 임포트하는 것이 좋다. In [2]: import numpy as np 넘파이는 행렬이나 다차원 배열을 관리하기 위한 ndarray 객체를 사용한다. 넘파의 모듈의 aaray 함수에 파이썬 리스틀 넘겨주면 ndarra..
<파이썬 금융 대시보드> Dart API를 통한 재무제표 수집 Dart API를 통한 재무제표 수집 1. 아래 사이트에 회원가입 https://opendart.fss.or.kr/ 전자공시 OPENDART 시스템 --> 시스템 점검으로 모든 서비스 이용이 일시적으로 중단되어니 양해 부탁드립니다. 시스템 점검 일정 2019년12월30일 23:00 ~ 12월31일 24:00 (1시간) *상기 작업 시간은 사정에 의해 변경 될 수 있습니 opendart.fss.or.kr 2. 아래 사이트 회원가입 후 오픈API 이용현황 메뉴에서 API Key 복사 3. 복사한 API를 파이썬에 저장 api_key = '복사한 api 번호' 4. 주식 대시보드 생성에 필요한 모듈 생성 ### 필요한 모듈 from urllib.request import urlopen from io impor..
<파이썬 판다스> Chapter 12-2 사례별 시계열 데이터 계산하기 12-2 사례별 시계열 데이터 계산하기 에볼라 최초 발병일 계산하기¶ebola 데이터프레임의 마지막 행과 열을 5개씩만 살펴보겠다. ebola 데이터프레임은 데이터 시간 역순으로 정렬되어 있다. 즉, 시간 순으로 데이터를 살펴보려면 데이터프레임의 마지막부터 살펴봐야 한다.¶ In [38]: import pandas as pd import os ebola = pd.read_csv(&#39;doit_pandas_data/data/country_timeseries.csv&#39;) print(ebola.iloc[-5:, :5]) Date Day Cases_Guinea Cases_Liberia Cases_SierraLeone 117 3/27/2014 5 103.0 8.0 6.0 118 3/26/2014 4 86..
<파이썬 판다스> Chapter 12-1 datetime 오브젝트 12-1 datetime 오브젝트 datetime 라이브러리는 날짜와 시간을 처리하는 등의 다양한 기능을 제공하는 파이썬 라이브러리이다. datetime 라이브러리에는 날짜를 처리하는 date 오브젝트, 시간을 처리하는 time 오브젝트, 날짜와 시간을 모두 처리하는 datetime 오브젝트가 포함되어 있다. 앞으로 3개의 오브젝트를 명확히 구분하기 위해 영무을 그대로 살려 date, time, datetime 오브젝트라고 부르겠다. datetime 오브젝트 사용하기¶datetime 오브젝트를 사용하기 위해 datetime 라이브러리를 불러온다.¶ In [1]: from datetime import datetime now, today 메서드를 사용하면 다음과 같이 현재 시간을 출력할 수 있다.¶ In [..
<파이썬 판다스> Chapter 11-4 그룹 오브젝트 11-3 그룹 오브젝트 그룹 오브젝트 살펴보기 지금까지는 groupby 메서드에 바로 집계 메서드를 사용하여 결과를 확인했다. 즉, groupby 메서드가 반환하는 값인 그룹 오브젝트에 대해서는 언급하지 않았다. 이번에는 groupby 메서드의 결괏값인 그룹 오브젝트를 자세히 살펴보겠다. 그룹 오브젝트 저장하여 살펴보기¶다음은 tips 데이터 집합에서 임의로 10개의 데이터를 추출한 것이다.¶ In [60]: import seaborn as sns tips = sns.load_dataset(&#39;tips&#39;) tips_10 = sns.load_dataset(&#39;tips&#39;).sample(10, random_state=42) print(tips_10) total_bill tip sex ..
<파이썬 판다스> Chapter 11-3 데이터 필터링 11-3 데이터 필터링 만약 그룹화한 데이터에서 원하는 데이터를 걸러내고 싶다면 어떻게 해야 할까? 그럴 때는 데이터 필터링을 사용하면 된다. 데이터 필터링을 사용하면 기준에 맞는 데이터를 걸러낼 수 있다. 다음 예제를 통해 데이터 필터링이 무엇인지 알아보겠다. 데이터 필터링 사용하기 - filter 메서드¶다음과 같이 tips 데이터 집합을 불러와 데이터 크기를 확인한다.¶ In [9]: import seaborn as sns tips = sns.load_dataset(&#39;tips&#39;) print(tips.shape) (244, 7) size 열의 데이터 수를 확인해 보면 1, 5, 6 테이블의 주문이 매우 적다는 것을 알 수 있다.¶ In [3]: print(tips[&#39;size&#3..