Coding Diary.

(데이터분석) seaborn, matplotlib으로 axis(축) 범위 변경 본문

Coding/Data analysis

(데이터분석) seaborn, matplotlib으로 axis(축) 범위 변경

life-of-nomad 2024. 5. 25. 14:10
728x90
반응형
지난 글에 이어 seaborn과 matplotlib에서
axis(축) 범위를 변경하는 방법과 
outlier(이상치)의 존재여부를 알아보겠습니다.

 

🔻seaborn, matplolib 히스토그램 작성법🔻

 

(데이터분석) seaborn과 matplotlib으로 히스토그램 나타내기

히스토그램은 숫자 변수의 분포를 나타낼 때 사용합니다. 막대 그래프를 정량적 변수에 적용한 것과 같습니다.하지만 하나의 막대로 각 고유 범주에 속하는 값의 개수를 나타내는 대신, 값을

life-of-nomad.tistory.com

1. Axis limits and Outliers

  • 먼저, 라이브러이와 데이터세트를 불러옵니다.
import numpy as np
import pandas as pd

import matplotlib.pyplot as plt
import seaborn as sns
df = pd.read_csv('diamonds.csv')
df.shape

df.head(5)

  • 다이아몬드의 가격을 살펴보겠습니다.
bins = np.arange(0, df['price'].max()+100, 100)
plt.hist(data=df, x='price', bins=bins);

  • 2000달러 주변을 보면 분포가 확 감소합니다.
  • 어떤 문제인지 살펴보겠습니다.

 

2. Using xlim to zoom on a plot

  • 이 부근을 확대하기 위해서는 xlim 함수를 사용해서 차트에 나타낼 상한과 하한을 정하면 됩니다.
  • 하한을 1000달러, 상한을 5000달러로 정하겠습니다.
  • 또한, 축 범위가 줄어들 것이므로 원래 100달러였던 계급의 크기를 50으로 줄이겠습니다.
bins = np.arange(0. df['price'].max()+50, 50)
plt.hist(data=df, x='price', bins=bins);
plt.xlim(1000, 5000)

  • 결과를 보면 1500달러 부근에서 분포가 크게 꺼집니다.
  • 소비자의 심리를 이용하는 가격 전략이 원인이 아닐까 예측합니다.
  • 그 이유는 1500달러가 다이아몬드의 등급을 가르는 기준과 같은 가격이라 
  • 1500달러가 아닌 1499달러가 더 매력적인 가격으로 느껴질 수도 있기 때문입니다.
728x90
반응형