기본 콘텐츠로 건너뛰기

라벨이 where인 게시물 표시

[matplotlib]quiver()함수

[data analysis] 결측치 조정

내용 무한값 처리 결측치와 무한값 처리 기존 값 적용 where, mask 결측치와 무한값 처리 결측치 무한값 찾기에서 소개한 것과 같이 무한값과 결측치는 데이터 분석에 에러의 요인이 될 수 있습니다. 이들을 처리하는 방법을 알아봅니다. 무한값 처리 import math import numpy as np import pandas as pd np.random.seed(3) x=np.random.rand(4, 3) x[1,2]=float("inf") print(x) [[0.5507979 0.70814782 0.29090474] [0.51082761 0.89294695 inf] [0.12558531 0.20724288 0.0514672 ] [0.44080984 0.02987621 0.45683322]] 객체 x에서 무한값의 인덱스를 결정하기 위해 각 요소에 대한 무한값의 여부를 True/False로 반환하는 np.isinf() 와 조건에 부합하는 인덱스를 반환하는 np.where(조건) 함수를 사용할 수 있습니다. infId=np.where(np.isinf(x)) infId (array([1], dtype=int64), array([2], dtype=int64)) 위의 결과와 같이 행과 열의 인덱스를 별도로 반환 됩니다. x[infId] array([inf]) np.delete(x, index, axis=None) x: 객체 index: 제거할 행 또는 열 인덱스로 기준축에 따라 행 또는 열이 결정됩니다. axis: 기준 축 객체 x의 무한값의 인덱스는 [1, 2]입니다. 다음 코드는 0축 즉, 행축을 기준으로 1행을 제거하는 것입니다. print(np.delete(x, 1, 0)) [[0.5507979 0.70814782 0.29090474] [0.12558531 0.20724288...

한국과 외국의 시계열 자료의 합병

한국 금융자료와 외국 자료의 합병 시계열 자료는 날짜등의 시간에 따라 생산되는 자료입니다. 대표적으로 일일 주가자료는 거래일 기준으로 자료가 생산됩니다. 별도의 자료를 합치는 경우 시간이 이질적이라면 합쳐진 자료에 결측치가 포함됩니다. 이 경우 결측치를 조절하는 방법을 알아봅니다. 한국의 코스피와 환율, 외국의 지수 자료를 합쳐봅니다. import numpy as np import pandas as pd import FinanceDataReader as fdr 지수명 코스피 환율 다우 나스탁 필라델피아반도체 변동성(미국) 코드명 KS11 USD/KRW DJI IXIC SOXX VIX 코스피 지수의 모든 변수(Open, High, Low, Close, Volume, Change)와 다른 지수들의 종가(Close)를 호출하였습니다. 이 호출은 FinanceDataReader 패키지의 DataReader() 함수를 적용하였습니다. st=pd.Timestamp(2010,3, 1) et=pd.Timestamp(2022, 6, 4) nme={'exchg':'USD/KRW','dj':"DJI",'nasd':'IXIC','soxx':"SOXX", 'vix':'VIX'} kos=fdr.DataReader('KS11', st, et) stock={} for i, j in zip(nme.keys(), nme.values()): stock[i]=fdr.DataReader(j, st, et)['Close'] stock=pd.DataFrame(stock.values(), index=stock.keys()).T kos.tail(3) Close Open High Low Volume Change Date 2022-05-31 2...

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

내용 주가자료의 호출과 정리 인덱스 적용 .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] 확률(probability)

확률(probability) 확률은 미래에 발생할 사건에 대한 믿음의 측정으로 과거의 데이터를 기반으로 합니다. 즉, 과거의 데이터들로부터 전체 중에서 특정한 대상이 되는 사건(event)의 발생 비율을 확률(probability) 이라고 정의할 수 있습니다. 확률은 다음의 공리를 가집니다. [확률 공리] 확률은 0과 1 사이의 값: 0 ≤ P(x) ≤ 1, 모든 확률의 합은 1: ∑P(x) = 1 실험에서 특별한 사건이 일어날 확률에 대한 개념은 다양한 방식으로 적용되고 해석 될 수 있습니다. 예를 들어 내일은 비올 확률이 70%라는 예보에 대해 과거 기후 조건의 데이터들을 분석하여 오늘의 날씨와 유사한 조건에서 70%가 비가 온다는 결과로서 해석할 수 있으며 또한 예보자의 주관적인 생각의 결과로 해석할 수도 있습니다. 전자의 경우는 기존 데이터들에서 대상이 되는 사건들의 빈도로 확률을 계산하는 방식으로 빈도적 해석 (frequency interpretation) 이라 하고 후자의 경우는 주관적인 추론에 의한 결과로서 주관적 해석 (subjective interpretation) 이라고 합니다. 이와 같이 확률은 두 가지 시각으로 해석할 수 있으며 모든 경우에 사용되는 기본적인 용어들이 있습니다. 확률실험(random experiment, 시행) 모든 사건들의 확률이 동일하다고 가정할 수 있는 시행 ex 1) 동전 던지기: 앞과 뒤가 나올 확률은 동일 ex 2) 일일 주가의 변화율: 정확한 결과를 예측할 수 없고 각 값들이 생성될 확률은 동일 요소(element) 또는 표본점 (sample point) 확률 실험에서의 일어날 수 있는 기본 결과 표본공간(sample space) 확률실험에서 나타나는 모든 표본점(결과)들의 집합 Ex) 주사위 시행의 모든 표본점들은 1, 2, 3, 4, 5, 6이며 모든 요소들의 집합이 표본 공간 S가 됩니다.  S = {1, 2, 3, 4, 5, 6} 사건(event) ...