기본 콘텐츠로 건너뛰기

라벨이 pivot_table인 게시물 표시

[matplotlib]quiver()함수

[seaborn] 플롯과 데이터 구조

플롯과 데이터 구조 일반적으로 플롯은 지정된 x와 y에 대응하여 작성됩니다. 각 x와 y를 위해 seaborn 함수에 전달하는 데이터 구조에 따라 입력 형식에서 약간의 차이를 보입니다. DataFrame의 경우 모든 변수들이 열(column)로 배치되고 각 열이름이 하나의 변수를 나타내는 구조이기 때문에 x와 y에 열이름을 전달합니다. 그러나 행과 열이 연결되어 각 값들의 의미를 나타내는 경우 즉, pivot table과 같은 경우 x와 y는 각각 행이름이고 열이름이 됩니다. 이 경우 그래프 함수는 각 행에 대한 열을 x와 y를 암묵적으로 인식하여 그래프를 작성합니다. 이러한 관계를 다음 데이터 flight에 대해 figure-level 함수인 relplot(), catplot() 를 적용하여 알아봅니다( Figure-level과 Axes-level 함수 그리고 히스토그램 참조). import numpy as np import pandas as pd import matplotlib.pyplot as plt plt.rcParams['font.family'] ='NanumGothic' plt.rcParams['axes.unicode_minus'] =False import seaborn as sns flights=sns.load_dataset("flights") flights.head(3) year month passengers 0 1949 Jan 112 1 1949 Feb 118 2 1949 Mar 132 sns.set_theme() sns.relplot(data=flights, x="year...

[data analysis] 피벗테이블(Pivot table)

피벗테이블(Pivot table) 기준되는 항목을 축(행 또는 열)으로 지정하여 표로 작성하는 것을 피벗테이블(pivot table)이라하며 함수 pandas.pivot_table(data, values=None, index=None, columns=None, aggfunc='mean', …) 를 적용합니다. 패키지 FinanceDataReader의 함수에 의해 호출한 주가 자료는 열이름은 Open, High, Low, Close, Volume, Change를 포함합니다. 각각 시가, 고가, 저가, 종가, 거래량을 의미하며 Change는 전날 종가에 비해 현재 시가의 비율입니다. 호출한 자료에서 Change를 목록화한후 그 목록에 따른 다른 값들의 평균을 나타내 봅니다. 이 표를 위해서 Change가 행 또는 열에 지정되어야 하고 나머지 중 타겟이 되는 부분을 values로 지정하여야 합니다. 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 ...

[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...