01 라이브러리 불러오기
import matplotlib.pyplot as plt
import seaborn as sns
02 matplotlib, seaborn 기초
# 차트 그리기
plt.plot( 데이터프레임명['컬럼명'] )
plt.plot( 데이터프레임명['x 컬럼명'], 데이터프레임명['y 컬럼명'] ) # x, y 축 지정
plt.plot( 'x 컬럼명', 'y 컬럼명', data = 데이터프레임명 ) # x, y 축 지정
데이터프레임명.plot( x='x 컬럼명', y='y 컬럼명' ) # x, y 축 지정
# 화면에 보여주기
plt.show()
# x축, y축 이름, 타이틀 붙이기
plt.xticks(rotation = 각도) # x축 이름 방향 조정
plt.xlabel('x 컬럼명') # x축 이름 지정
plt.ylabel('y 컬럼명') # y축 이름 지정
plt.title('타이틀') # 타이틀 지정
# 라인 스타일 조정
plt.plot( 'x 컬럼명', 'y 컬럼명', data = 데이터프레임명, color='컬러', linestyle='라인스타일', marker='마커 모양' )
# 범례, 그리드 추가
plt.plot( 'x 컬럼명', 'y 컬럼명', data = 데이터프레임명, label='범례') # 범례 추가
plt.grid() # 그리드 추가
# 축 범위 조정
plt.xlim( 시작범위, 끝범위 )plt.ylim( 시작범위, 끝범위 )
# 그래프 크기 조정
plt.figure( figsize = ( x축 크기, y축 크기 ) )
# 수평선, 수직선 추가
plt.axhline( y축 위치, color='컬러', linestyle='라인스타일') # 수평선 그리기 (ㅡ)plt.ayhline( x축 위치, color='컬러', linestyle='라인스타일') # 수직선 그리기 ( | )
# 그래프에 텍스트 추가
plt.text( x축 위치, y축 위치, '텍스트' )
# 여러 그래프 나눠서 그리기 (e.g. 2행 1열 그래프 그리기)
plt.subplot( row, column, index )
plt.plot( 사용자지정 1 )
plt.subplot( row, column, index )
plt.plot( 사용자지정 2 )
plt.tight_layout() # 그래프간 간격 맞추기
plt.show()
03 단변량 분석의 이해
04 숫자형 데이터 : 수치화
평균
np.mean( 데이터프레임['컬럼명'] )
데이터프레임['컬럼명'].mean()
중앙값
자료의 순서상 가운데 위치한 값을 말한다.
np.median( 데이터프레임['컬럼명'] )
데이터프레임['컬럼명'].median()
최빈값
자료 중에서 가장 빈번하게 나타나는 값을 말한다.
데이터프레임['컬럼명'].mode()
4분위수
데이터를 오름차순으로 정렬한 후 전체를 4등분하여 각 경계에 해당하는 값(25%, 50%, 75%)을 말한다.
데이터프레임['컬럼명'].describe()
기초통계량
데이터프레임['컬럼명'].describe()
데이터프레임.describe() # 데이터프레임의 숫자타입 변수들 기초통계량 조회
데이터프레임.describe( include='all') # 데이터프레임의 전체 변수들 기초통계량 조회
05 숫자형 데이터 : 시각화
히스토그램
# matplot 활용
plt.hist( 데이터프레임['컬럼'], bins = 구간 수, edgecolor='컬러' )
plt.xlabel('x 이름')plt.ylabel('y 이름')plt.show()# seaborn 활용sns.histplot( x='컬럼', data=데이터프레임, bins = 구간 수 )plt.show()
📌주의할 점 : 구간의 개수에 따라서 파악할 수 있는 내용이 달라지므로 bins
를 적절히 조절해가며 확인해봐야 한다.
Density Plot (kde plot)
- 밀도함수 그래프라고도 불린다.
- 밀도함수 그래프 아래 면적은 1이다.
# kde plot 그리기
sns.kdeplot( x='컬럼', data=데이터프레임)
# 히스토그램과 kde plot 같이 그리기
sns.histplot( x='컬럼', data=데이터프레임, kde = True )
box plot
sns.boxplot( x=데이터프레임['컬럼'] ) # or y=
plt.grid()
06 범주형 데이터 : 수치화
범주별 빈도수
데이터프레임['컬럼'].value_counts()
범주별 비율
데이터프레임['컬럼'].value_counts() / 데이터프레임.shape[0]
07 범주형 데이터 : 시각화
bar plot
sns.countplot( x='컬럼', data=데이터프레임 )
plt.grid()
'데이터 사이언스 > 데이터 분석·전처리' 카테고리의 다른 글
[Scikit-learn] KNN Imputer을 이용한 결측치 보간 (0) | 2023.03.27 |
---|---|
[Python] matplotlib, seaborn을 이용한 이변량 분석 (0) | 2023.02.11 |
[데이터 분석 방법론] CRISP-DM 프로세스 (0) | 2023.02.10 |
[Python] Pandas 시계열 데이터 다루기 - 날짜, shift, rolling, diff (0) | 2023.02.08 |
[Python] Pandas DataFrame 사용법 정리 2 - 변경, 결합 (0) | 2023.02.07 |