-
통계-4 순서형 데이터, 이진 데이터, 시계열 데이터, 공간 데이터통계 2023. 5. 29. 19:34
1. 순서형 데이터
순서형 데이터는 서로 다른 카테고리에 속하면서 순서를 가지는 데이터이다. 교육 수준, 경력, 신용 등이 해당된다.
data = pd.read_csv('../data/college_data.csv') data['admission_level']=pd.qcut(data['top10perc'], q=4, labels=['vey_low','low','high','veryhigh'])
대학교 데이터 셋을 불러 top10perc 컬럼을 기준으로 4개로 나눈다. q=4를 입력하여 데이터를 일정하게 나눌 수 있고 순서형 데이터로 바꾸기 위해 라벨 값을 지정해 준다.
plt.figure(figsize=(10,6)) plt.bar(data['admission_level'].value_counts().index,data['admission_level'].value_counts().values) plt.title('nuber of colleges by admission level') plt.xlabel('admission level') plt.ylabel('numbber of colleges') plt.show()
top10perc가 낮을수록 학교의 수가 많아지는 그래프를 확인할 수 있다.
2. 이진 데이터
이진 데이터는 두 가지 값 중 하나만을 가지는 데이터이다. 시험의 합격 여부, 제품의 결함 여부 등이 해당된다.
titanic = pd.read_csv('../data//Titanic_data.csv') survived_gender = titanic.groupby('Sex')['Survived'].sum() dead_gender=titanic.groupby('Sex')['Survived'].count()-survived_gender
성별에 따른 생존자와 사망자를 구한다.
plt.figure(figsize=(10,6)) plt.bar(survived_gender.index,survived_gender.values,color='g',alpha=0.5,label='survived') plt.bar(dead_gender.index, dead_gender.values, bottom=survived_gender.values,color='r',alpha=0.5,label='dead') plt.title('survivors by gender') plt.xlabel('gender') plt.ylabel('nuber of passengers') plt.legend() plt.show()
여성의 생존확률이 남성보다 높음을 확인할 수 있다.
3. 시계열 데이터
시계열 데이터는 시간에 흐름에 따라 변화하는 데이터이다. 즉 시간을 독립변수로 가진 데이터이다.
data = pd.read_csv('../data/kospi.csv') data['Date'] = pd.to_datetime(data['Date']) data.set_index('Date',inplace=True) plt.figure(figsize=(10,6)) plt.plot(data.index,data['Close']) plt.title('kospi index') plt.xlabel('year') plt.ylabel('close') plt.show()
코스피의 주가 데이터를 불러온 뒤 date 특성을 datetime으로 변환하고 data.set_index 함수를 사용하여 열을 인덱스로 변환시킨다.
그래프를 그려보면 시가느이 흐름에 따라 코스피 지수의 변화를 확인할 수 있다.
plt.figure(figsize=(16,8)) sns.histplot(data=data, x='Close') plt.title('kospi close price distribution') plt.xlabel('price') plt.ylabel('count') plt.show
가격에 따른 종가 데이터의 개수를 확인할 수 있다.
4. 공간 데이터
공간 데이터는 지도상의 위치 정보를 가지고 있는 데이터이다.
import geopandas as gpd seoul_gdf = gpd.read_file('../data/seoul_municipalities_geo_simple.shp') plt.figure(figsize=(10,10)) seoul_gdf.plot() plt.title('seoul municipalities') plt.xlabel('longitude') plt.ylabel('latitude') plt.show()
지리 데이터의 사용을 위해 만들어진 geopandas 모듈을 이용한다. 일반적으로 지리 정보를 전송하기 위해서 데이터 직렬화 포맷은 geojson을 사용하며 이것은 지형적 정보를 표현할 수 있는 json 형식이다.
서울시의 행정구역 데이터를 그릴 수 있다.
'통계' 카테고리의 다른 글
통계-6 가설 감정 (0) 2023.05.29 통계-5 데이터 분석 방법 (0) 2023.05.29 통계-3 범주형 데이터 (0) 2023.05.29 통계-2 이산형 데이터 (0) 2023.05.29