기본 콘텐츠로 건너뛰기

라벨이 cut인 게시물 표시

[matplotlib]quiver()함수

연속형변수를 목록형변수로 변환

내용 주가자료의 호출과 정리 인덱스 적용 .mask()적용 결측값 치환 변화량 계산과 표준화 목록화 연속형변수를 목록형변수로 변환 연속형 변수인 주가자료를 종가의 상승과 하락에 대한 추정을 위해 로지스틱 회계분석을 적용할 수 있습니다. 이 분석의 자료는 목록변수이어야 하므로 연속형변수를 목록변수로의 전환이 필요합니다. 이번 포스트에서는 이 과정을 소개합니다. 주가자료의 호출과 정리 파이썬 패키지 FinanceDataReader 를 사용하여 다양한 금융자료를 사용할 수 있습니다. 다음은 일정 기간의 코스피 자료를 호출한 것입니다. import numpy as np import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt import FinanceDataReader as fdr st=pd.Timestamp(2010,8, 26) et=pd.Timestamp(2022, 5, 27) data=fdr.DataReader('KS11', st, et) data.head(2) Close Open High Low Volume Change Date 2010-08-26 1729.76 1744.08 1744.40 1729.76 303050000.0 -0.0029 2010-08-27 1729.56 1724.00 1732.84 1719.20 245580000.0 -0.0001 호출받은 자료에 0, Na, inf 등 다양한 종류의 결측치가 포함되어 있을 수 있습니다. 이들은 직전 또는 직후 값으로 대체 또는 삭제 할 수 있습니다. 위에서 사용한 모듈로 부터 호출한 자료는 결측치를 0으로 대체하고 있습니다. 다음은 자료의 값이 0인 행과 열을 반환한 것입니다. np.where(data==0) (array([ 450, 473, 541, 571, ...

[data analysis] 교차표(cross tabulation): crosstab

교차표(cross tabulation): crosstab pandas.crosstab() 함수는 pd.pivot_table() 로 생성되는 피봇테이블과 유사하지만 두 개이상의 변수들에 대한 교차표 작성에 집중합니다. 다음 자료는 코스피 일일자료를 호출한 것으로 Open, High, Low, Close, Volume, Change 특성으로 구성된 것입니다. import numpy as np import pandas as pd import FinanceDataReader as fdr st=pd.Timestamp(2023,8, 26) et=pd.Timestamp(2024, 8,8) nme=['Open', 'High','Low','Close', 'Change', 'Volume'] da=fdr.DataReader('KS11', st, et)[nme] da.head(2).round(3) Open High Low Close Change Volume Date 2023-08-28 2534.42 2543.41 2525.64 2543.41 0.010 483587568 2023-08-29 2550.76 2556.98 2545.27 2552.16 0.003 441365852 위 자료 da의 Change를 제외한 나머지 특성들(features)들을 1일 전값과의 변화율로 변환합니다. da1=da.drop("Change...

변동(Variation)

변동(Variation) 변동(variation) 또는 스프레드(spread) 는 데이터들의 퍼짐 정도를 나타내는 것으로서 자료의 특성을 설명하는 기본 정보 입니다. 평균 등의 위치정보와 함께 변동을 사용하여 자료의 분포를 설명할 수 있습니다. 예를 들어 다음 자료는 다양한 금융자료를 호출할 수 있는 파이썬 라이브러리 FinanceDataReader 를의 DataReader() 함수를 사용하여 지정한 기간의 코스피 주가를 호출한 것입니다. 이 데이터는 연속형이므로 목록형으로 전환하기 위해 pd.cut() 함수를 사용합니다. 이 함수는 구간을 지정하여 각 인스턴스에 대한 목록화된 결과를 첫번째, 두번째로 각 구간의 경계점을 반환합니다. 또한 np.histogram() 을 사용하여 각 구간의 빈도수를 나타낼 수 있습니다. pd.cut(x, bins, right=True, labels=None, retbins=False, ...) 1차원 배열의 각 값을 지정한 구간(bins)에 대응하는 구간(계급)을 반환합니다. 연속형 변수를 범주형 변수로 변환할 경우 유용합니다. x : 1차원 배열 객체 bins: 계급(class) 구간의 갯수를 나타내는 정수 또는 명시적으로 구간을 구분하기 위한 리스트 객체 right = Ture → (a, b] · right = False → [a, b) label: 각 계급 구간에 대한 이름을 지정. 그러므로 bins의 수와 같아야 함 retbins: bins을 정수로 전달 할 경우 각 계급(class)의 구간을 반환 numpy.histogram(x, bins, density=False) x: numpy 객체로서 2차원 이상의 객체일 경우 1차원으로 자동 변환 bins: 데이터를 그룹화하기 위한 클래스의 수 또는 각 그룹의 상한값과 하한값으로 구성한 객체 density: True일 경우, 빈도 대신 밀도가 반환 \begin{align}\text{density}&=\frac{\t...