데이터가 너무 방대하거나 용량이 큰 경우에는 일일히 살펴보는 것이 비효율적일 수 있다.
데이터를 수치나 그래프로 요악해 표현한다면 효과적으로 데이터의 특성을 파악할 수 있다.
실습 코드 : https://colab.research.google.com/drive/1VvP9oGzURroVGO6u4kA8HY_X2cBxdSFT?usp=sharing
https://colab.research.google.com/drive/1VkGS8tH_LKRvWEuyfx99YEEt50ZTlwi7?usp=sharing
전체 데이터의 특징을 정량적인 수치(평균, 표준 편차 등)로 나타내거나 그래프를 활용해 시각적으로 표현. -> 탐색적 데이터분석
percentities = 원하는 값 출력 가능 / percentiles=[0.3, 0.6, 0.9]
include = 수치가 아닌 타입의 데이터 통계 표현 가능 / include='object'
- unique : 고유한 값의 개수
- top : 가장 많이 등장하는 값
- freq : top이 등장한 회수
- 값의 개수가 짝수이면 가운데 두 개 값의 평균값을 출력
- 중복 값 제거후 출력 : drop_duplicates().median()
dataframe['column'].quantile([0.25,0.5,0.75])
interpolation(보간) : 두 지점 사이에 놓인 특정 위치의 값을 구하는 방법
- linear : quantile에서의 기본값으로, 비율로 계산한다.
- midpoint : 중앙값을 사용한다.
- nearest : 가까운 값을 사용한다.
- lower : 낮은 값을 사용한다.
- higher : 높은 값을 사용한다.
# ns_book7의 대출건수가 10인 경우 백분위는?
borrow_10_flag = ns_book7.대출건수 < 10
borrow_10_flag.mean()
데이터를 그래프를 통해 요악하여 분포를 살펴보고 통찰을 얻어보자
matplotlib.pyplot 패키지 활용 as plt
plt.scatter([1,2,3,4], [1,2,3,4])
plt.show()
alpha : 투명도 조절을 통해 데이터 집중도 파악 가능.
alpha = 0.1
plt.hist([0,3,5,6,7,7,9,13], bins=5)
log : y축을 로그스케일로 출력
log = true
plt.yscale('log')
최솟값, 세 개의 사분위수, 최댓값을 활용해 데이터를 요약한 그래프
https://ko.wikipedia.org/wiki/%EC%83%81%EC%9E%90_%EC%88%98%EC%97%BC_%EA%B7%B8%EB%A6%BC
vert : x-y축을 변경.
vert=False
whis : 수염의 길이 변경.
- IQR 배율 변경
whis=10
- 백분위수에 해당하는 데이터 출력
whis=(10,90)
dataframe.plot.scatter('x축 열 이름', 'y축 열 이름', alpha=0.1
dataframe['대상 열 이름'].plot.hist(bins=100)
dataframe[['대상 열 이름', '대상 열2 이름']].boxplot()
데이터 분석에서 자주 사용되는 통계적 용어들의 정의와 그 표현 방법들에 대해 알아보았다. 표준편차 등의 내용은 학생 때 배웠을 때는 굉장히 막연하게 느껴졌지만 이번에 데이터 분석 공부를 하며 살펴보니 훨씬 명료하게 와닿는 느낌이었다.
상자수염 내용을 통해 데이터분석에서 이상치 제거에 대한 한 사례를 만나보고 그래프를 통해 나타난 데이터의 형상을 통해 통찰을 얻는다는 것이 어떤 과정인지 알 수 있었다. 데이터의 형태와 특성에 따라 다양한 방법으로 통찰을 얻어야 할 것이며 이 중 한가지를 배워간다.