(EDA강의)seaborn 기초

지며리·2022년 11월 29일
0
post-custom-banner
  • 실제 강의 내용의 일부분만 발췌했습니다.
import matplotlib.pyplot as plt
from matplotlib import rc
import seaborn as sns

#마이너스 부호나 한글 폰트 깨지지 않게 하는 설정
plt.rcParams["axes.unicode_minus"]= False 
rc("font", family = "Malgun Gothic")
get_ipython().run_line_magic("matplotlib","inline")

1. 그래프 그리기

#0부터 14까지 100개의 수 생성
x = np.linspace(0,14,100)

y1= np.sin(x)
y2= 2 * np.sin(x+0.5)
y3= 3 * np.sin(x+1.0)
y4= 4 * np.sin(x+1.5)

# 그래프 스타일 설정
# white, whitegrid, dark, darkgrid, ticks 이 있음.
sns.set_style("dark")

# 그래프 크기 설정
plt.figure(figsize=(10,6)) 

# 그리고자 하는 그래프 다중으로 설정
plt.plot(x, y1, x, y2, x, y3, x, y4)

# 그래프를 그리는 명령어
plt.show()

2. boxplot 그리기

  • boxplot은 1분위수(상위 25%)부터 3분위수(상위 75%)까지 box로 나타낸 그래프
  • box 가운데 선은 중위수(상위 50%)를 나타낸다.
  • box 폭이 좁을 수록 밀집되어 있음을 뜻한다.
  • box plot 밖의 점은 아웃라이어다.
plt.figure(figsize = (8,6))
sns.boxplot(
	x="day", #day에 대한
    y = "total_bill", #total bill의 분포를 
    data= tips, #tips 라는 데이터 셋에서 뽑아와서
    hue = "smoker", #smoker별로 분리된 형태로 box plot을 그릴 것
    palette = "Set3") # 색상배치. set은 3까지 있음

3. lmplot 그리기

  • 두 변수 사이에 산포도와 추세선을 함께 표기
sns.set_style("darkgrid")

sns.lmplot(
	x="total_bill", # total_bill을 가로축에
    y = "tip", # tips를 세로축에 나타내고
    data= tips, # tips라는 데이터 셋에서 데이터를 가져와서
    height = 7, # 그래프 크기를 7로
    ci = None, # 신뢰구간 설정
    order = 1, # 1차원(선형) 추세선 그리기
    hue="smoker", # smoker 여부에 따라 분리 표기
    robust=False, # outlier 배제하고 싶을 경우 True
    scatter_kws = {"s":70} # 산포도 점 크기
    ) 

plt.show()

4. heatmap 그리기

연관 포스트
(EDA강의)seaborn으로 데이터 시각화

5. pairplot 그리기

  • 데이터 셋의 모든 컬럼별로 가로축 X 세로축 그래프를 만들기
  • 같은 데이터 셋에 대해서는 히스토그램을 그리기
sns.pairplot(
	iris, # iris 데이터셋의 모든 컬럼별로 가로축X세로축을 만들어 그래프 그리기 
    hue ="species" # species 컬럼 값에 따라 색상 분리해서 표기
    )
plt.show()

profile
쉽고 유익하게 널리널리
post-custom-banner

0개의 댓글