Skip to content
νŠœν† λ¦¬μ–Ό
Seaborn
πŸ“Š Seaborn Boxplot νŠœν† λ¦¬μ–Ό: νŒŒμ΄μ¬μ—μ„œ μ»€μŠ€ν…€ λ°•μŠ€ ν”Œλ‘― λ§Œλ“€κΈ°

πŸ“Š Seaborn Boxplot νŠœν† λ¦¬μ–Ό: νŒŒμ΄μ¬μ—μ„œ μ»€μŠ€ν…€ λ°•μŠ€ ν”Œλ‘― λ§Œλ“€κΈ°

λ°•μŠ€ ν”Œλ‘―μ€ 데이터 λΆ„ν¬μ˜ 톡계적 μš”μ•½μ„ μ œκ³΅ν•˜λ©° 데이터 κ³Όν•™ λΆ„μ•Όμ—μ„œ ν•„μˆ˜μ μΈ λ„κ΅¬μž…λ‹ˆλ‹€. 데이터 κ³Όν•™ ν”„λ‘œμ νŠΈμ˜ 탐색적 데이터 뢄석 (EDA) λ‹¨κ³„μ—μ„œ 특히 μœ μš©ν•©λ‹ˆλ‹€. 이 νŠœν† λ¦¬μ–Όμ—μ„œλŠ” 파이썬의 Seaborn 라이브러리λ₯Ό μ‚¬μš©ν•˜μ—¬ λ°•μŠ€ ν”Œλ‘―μ„ λ§Œλ“œλŠ” 방법에 집쀑할 κ²ƒμž…λ‹ˆλ‹€. Seaborn은 톡계 κ·Έλž˜ν”½ 및 데이터 μ‹œκ°ν™”μ— μ‚¬μš©ν•  수 μžˆλŠ” κ°•λ ₯ν•œ λ„κ΅¬λ‘œ λ°•μŠ€ ν”Œλ‘― ν•¨μˆ˜, Seaborn.boxplot()에 λŒ€ν•΄ μ•Œμ•„λ³΄κ³  ꡬ문과 μ‚¬μš©μžμ˜ μš”κ΅¬μ— 맞게 μ»€μŠ€ν…€ν•˜λŠ” 방법에 λŒ€ν•΄ λ‹€λ£° κ²ƒμž…λ‹ˆλ‹€.

Seaborn은 matplotlib을 기반으둜 ν•œ 파이썬 데이터 μ‹œκ°ν™” λΌμ΄λΈŒλŸ¬λ¦¬μž…λ‹ˆλ‹€. Seaborn은 맀λ ₯적이고 정보성이 ν’λΆ€ν•œ 톡계적 κ·Έλž˜ν”½μ„ 그리기 μœ„ν•œ κ³ μˆ˜μ€€ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. Seaborn의 μ£Όμš” κΈ°λŠ₯ 쀑 ν•˜λ‚˜λŠ” λ°μ΄ν„°μ˜ λ‹€μ„― 가지 μš”μ•½ 정보λ₯Ό κ·Έλž˜ν”½μœΌλ‘œ λ‚˜νƒ€λ‚΄λŠ” λ°•μŠ€ ν”Œλ‘―μ„ 생성할 수 μžˆλ‹€λŠ” μ μž…λ‹ˆλ‹€. Seaborn.boxplot() ν•¨μˆ˜λŠ” 우리의 데이터에 λŒ€ν•œ μ΄λŸ¬ν•œ ν”Œλ‘―μ„ 쉽고 μœ μ—°ν•˜κ²Œ 생성할 수 μžˆλŠ” κ°•λ ₯ν•œ λ„κ΅¬μž…λ‹ˆλ‹€.

파이썬 νŒλ‹€μŠ€ λ°μ΄ν„°ν”„λ ˆμž„μ—μ„œ μ½”λ“œ 없이 데이터 μ‹œκ°ν™”λ₯Ό λΉ λ₯΄κ²Œ λ§Œλ“€κ³  μ‹ΆμœΌμ‹ κ°€μš”?

PyGWalkerλŠ” μ‹œκ°ν™”μ™€ ν•¨κ»˜ 데이터 탐색적 뢄석을 μœ„ν•œ 파이썬 λΌμ΄λΈŒλŸ¬λ¦¬μž…λ‹ˆλ‹€. PyGWalker (opens in a new tab)λŠ” 파이썬 νŒλ‹€μŠ€ λ°μ΄ν„°ν”„λ ˆμž„ (및 polars λ°μ΄ν„°ν”„λ ˆμž„)을 Tableau μŠ€νƒ€μΌμ˜ μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€λ‘œ λ³€ν™˜ν•˜μ—¬ Jupyter Notebook 데이터 뢄석 및 데이터 μ‹œκ°ν™” μ›Œν¬ν”Œλ‘œμš°λ₯Ό λ‹¨μˆœν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

PyGWalkerλ₯Ό μ‚¬μš©ν•œ 데이터 μ‹œκ°ν™” (opens in a new tab)

Seaborn Boxplotμ΄λž€ 무엇이며 μ–΄λ–»κ²Œ μ‚¬μš©λ˜λ‚˜μš”?

Seaborn Boxplot은 μ‚¬λΆ„μœ„μˆ˜λ₯Ό 톡해 숫자 λ°μ΄ν„°μ˜ 그룹을 κ·Έλž˜ν”½μœΌλ‘œ λ‚˜νƒ€λ‚΄λŠ” λ°©λ²•μž…λ‹ˆλ‹€. λ°•μŠ€ ν”Œλ‘―μ€ λ°μ΄ν„°μ˜ μ‹œκ°μ  μš”μ•½μ„ μ œκ³΅ν•˜λ©° λ°•μŠ€λŠ” μ‚¬λΆ„μœ„ λ²”μœ„ (λ°μ΄ν„°μ˜ 쀑간 50%), μƒμž μ•ˆμ˜ 선은 쀑앙값을 λ‚˜νƒ€λ‚΄λ©° μˆ˜μ—Όμ€ λ°μ΄ν„°μ˜ λ²”μœ„λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. μ΄μƒμΉ˜κ°€ μžˆλŠ” 경우 μˆ˜μ—Ό 외뢀에 κ°œλ³„ 점으둜 λ‚˜νƒ€λ‚Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

λ°•μŠ€ ν”Œλ‘―μ€ μ„œλ‘œ λ‹€λ₯Έ 데이터 μ„ΈνŠΈ κ°„μ˜ 뢄포λ₯Ό λΉ„κ΅ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, μ„œλ‘œ λ‹€λ₯Έ κ΅μ‹€κ°„μ˜ μ‹œν—˜ 점수 λΆ„ν¬λ‚˜ μ„œλ‘œ λ‹€λ₯Έ λ‹¬μ˜ μ˜¨λ„ 뢄포λ₯Ό λΉ„κ΅ν•˜κ³ μž ν•  수 μžˆμŠ΅λ‹ˆλ‹€. Seaborn λ°•μŠ€ ν”Œλ‘― ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ μ΄λŸ¬ν•œ ν”Œλ‘―μ„ μ‰½κ²Œ μƒμ„±ν•˜κ³  ν•„μš”μ— 맞게 μ»€μŠ€ν…€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

νŒŒμ΄μ¬μ—μ„œ Seaborn Boxplot λ§Œλ“€κΈ°

Seaborn λ°•μŠ€ ν”Œλ‘―μ„ μƒμ„±ν•˜λ €λ©΄ λ¨Όμ € seaborn 라이브러리λ₯Ό 가져와야 ν•©λ‹ˆλ‹€. λ‹€μŒ μ½”λ“œλ‘œ 이λ₯Ό μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

import seaborn as sns

λ‹€μŒμœΌλ‘œ 데이터λ₯Ό λ‘œλ“œν•΄μ•Ό ν•©λ‹ˆλ‹€. Seaborn은 Pandas λ°μ΄ν„°ν”„λ ˆμž„μ„ μ²˜λ¦¬ν•  수 μžˆμœΌλ―€λ‘œ 데이터λ₯Ό λ°μ΄ν„°ν”„λ ˆμž„μ— λ‘œλ“œν•œ λ‹€μŒ seaborn λ°•μŠ€ ν”Œλ‘― ν•¨μˆ˜μ— 전달할 수 μžˆμŠ΅λ‹ˆλ‹€. λ‹€μŒμ€ μ˜ˆμ‹œμž…λ‹ˆλ‹€:

## μ˜ˆμ‹œ 팁 데이터셋 λ‘œλ“œν•˜κΈ°
tips = sns.load_dataset("tips")
 
## λ°•μŠ€ ν”Œλ‘― μƒμ„±ν•˜κΈ°
sns.boxplot(x=tips["total_bill"])

이 μ˜ˆμ‹œμ—μ„œλŠ” seaborn의 λ‚΄μž₯된 팁 데이터셋을 λ‘œλ“œν•˜κ³  총 청ꡬ앑에 λŒ€ν•œ λ°•μŠ€ ν”Œλ‘―μ„ μƒμ„±ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

Seaborn Boxplot의 μ™Έν˜• μ»€μŠ€ν„°λ§ˆμ΄μ§•

Seaborn λ°•μŠ€ ν”Œλ‘―μ€ μ™Έν˜•μ„ λ§Žμ€ λ°©λ²•μœΌλ‘œ μ»€μŠ€ν„°λ§ˆμ΄μ§•ν•  수 있으며 μ™Έν˜•μ„ κ°œμ„ ν•˜μ—¬ 더 λ§Žμ€ 정보λ₯Ό μ œκ³΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€. Seaborn λ°•μŠ€ ν”Œλ‘―μ„ μ»€μŠ€ν„°λ§ˆμ΄μ§•ν•˜λŠ” λͺ‡ 가지 μ˜ˆμ‹œλ₯Ό μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€:

λ°©ν–₯ λ³€κ²½ν•˜κΈ°

기본적으둜 Seaborn은 수직 λ°•μŠ€ ν”Œλ‘―μ„ μƒμ„±ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ x와 y λ§€κ°œλ³€μˆ˜λ₯Ό κ΅μ²΄ν•˜μ—¬ μˆ˜ν‰ λ°•μŠ€ ν”Œλ‘―μ„ 생성할 수 μžˆμŠ΅λ‹ˆλ‹€. λ‹€μŒμ€ μ˜ˆμ‹œμž…λ‹ˆλ‹€:

## μˆ˜ν‰ λ°•μŠ€ ν”Œλ‘― μƒμ„±ν•˜κΈ°
sns.boxplot(y=tips["total_bill"])

Hue μΆ”κ°€ν•˜κΈ°

λ°•μŠ€ ν”Œλ‘―μ— hue λ§€κ°œλ³€μˆ˜λ₯Ό μΆ”κ°€ν•˜μ—¬ λ‹€λ₯Έ λ²”μ£Όν˜• λ³€μˆ˜λ‘œ μƒμžλ₯Ό λΆ„ν• ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό 톡해 μ„œλ‘œ λ‹€λ₯Έ κ·Έλ£Ή κ°„μ˜ 뢄포λ₯Ό λΉ„κ΅ν•˜λŠ” 데 μœ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ‹€μŒμ€ μ˜ˆμ‹œμž…λ‹ˆλ‹€:

## hueλ₯Ό μΆ”κ°€ν•œ λ°•μŠ€ ν”Œλ‘― μƒμ„±ν•˜κΈ°
sns.boxplot(x="day", y="total_bill", hue="smoker", data=tips)

이 μ˜ˆμ‹œμ—μ„œλŠ” 각 λ‚ μ§œλ³„λ‘œ 총 청ꡬ앑에 λŒ€ν•œ λ°•μŠ€ ν”Œλ‘―μ„ μƒμ„±ν•˜κ³  ν‘μ—°μž 여뢀에 따라 λΆ„ν• ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

μƒμž 색상 μ»€μŠ€ν„°λ§ˆμ΄μ§•ν•˜κΈ°

Seaborn은 λ°•μŠ€ ν”Œλ‘―μ˜ 색상을 μ‚¬μš©μž μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” boxplot ν•¨μˆ˜μ˜ palette λ§€κ°œλ³€μˆ˜μ— 색상 νŒ”λ ˆνŠΈλ₯Ό μ „λ‹¬ν•˜μ—¬ μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ‹€μŒμ€ μ˜ˆμ‹œμž…λ‹ˆλ‹€:

## 색상을 μ‚¬μš©μž μ •μ˜ν•œ λ°•μŠ€ ν”Œλ‘― μƒμ„±ν•˜κΈ°
sns.boxplot(x="day", y="total_bill", hue="smoker", data=tips, palette="Set3")

이 μ˜ˆμ‹œμ—μ„œλŠ” "Set3" 색상 νŒ”λ ˆνŠΈλ₯Ό μ‚¬μš©ν•˜μ—¬ λ°•μŠ€ ν”Œλ‘―μ˜ 색상을 μ§€μ •ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

μˆ˜μ—Ό λ³€κ²½ν•˜κΈ°

기본적으둜 seaborn λ°•μŠ€ ν”Œλ‘―μ˜ μˆ˜μ—Όμ€ μ΄μƒμΉ˜λ₯Ό μ œμ™Έν•œ λ°μ΄ν„°μ˜ λ²”μœ„λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ boxplot ν•¨μˆ˜μ˜ whis λ§€κ°œλ³€μˆ˜μ— λ‹€λ₯Έ 값을 μ§€μ •ν•˜μ—¬ 이λ₯Ό λ³€κ²½ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, whisλ₯Ό 0.5둜 μ„€μ •ν•˜μ—¬ μˆ˜μ—Όμ΄ 5번째 λ°±λΆ„μœ„μˆ˜μ™€ 95번째 λ°±λΆ„μœ„μˆ˜λ₯Ό λ‚˜νƒ€λ‚΄λ„λ‘ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ‹€μŒμ€ μ˜ˆμ‹œμž…λ‹ˆλ‹€:

## μ‚¬μš©μž μ •μ˜ μˆ˜μ—Όμ„ μ‚¬μš©ν•œ λ°•μŠ€ ν”Œλ‘― μƒμ„±ν•˜κΈ°
sns.boxplot(x="day", y="total_bill", data=tips, whis=0.5)

Seaborn Boxplot vs Violinplot

Seaborn은 컀널 밀도 좔정을 μ΄μš©ν•œ λ°•μŠ€ ν”Œλ‘―κ³Ό κ²°ν•©ν•œ violin plotμ΄λΌλŠ” 또 λ‹€λ₯Έ μœ ν˜•μ˜ ν”Œλ‘―μ„ μ œκ³΅ν•©λ‹ˆλ‹€. Violin plot은 데이터 κ°’μ˜ 뢄포에 λŒ€ν•œ 더 μƒμ„Έν•œ μ„€λͺ…을 μ œκ³΅ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ©λ‹ˆλ‹€. λ°•μŠ€ ν”Œλ‘―μ€ λ°μ΄ν„°μ˜ μš”μ•½ 정보λ₯Ό μ œκ³΅ν•˜λŠ” 데 νƒμ›”ν•˜μ§€λ§Œ, violin plot은 뢄포에 λŒ€ν•΄ 더 μžμ„Έν•œ 정보λ₯Ό μ œκ³΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ violin plot은 ν•΄μ„ν•˜κΈ°μ— 더 λ³΅μž‘ν•  수 있으며 λͺ¨λ“  λŒ€μƒμ—κ²Œ μ ν•©ν•˜μ§€ μ•Šμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. 이에 λ°˜ν•΄, λ°•μŠ€ ν”Œλ‘―μ€ 직관적이고 널리 μ΄ν•΄λ˜λ―€λ‘œ λ‹€μ–‘ν•œ μƒν™©μ—μ„œ 쒋은 μ„ νƒμž…λ‹ˆλ‹€.

λ‹€μŒμ€ seabornμ—μ„œ violin plot을 λ§Œλ“œλŠ” λ°©λ²•μ˜ μ˜ˆμ‹œμž…λ‹ˆλ‹€:

## Violin plot μƒμ„±ν•˜κΈ°
sns.violinplot(x="day", y="total_bill", data=tips)

seaborn λ°•μŠ€ ν”Œλ‘― 해석

seaborn λ°•μŠ€ ν”Œλ‘― 해석은 ν”Œλ‘―μ˜ λ‹€λ₯Έ ꡬ성 μš”μ†Œλ₯Ό μ΄ν•΄ν•˜λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€. κ°€μš΄λ° μƒμžλŠ” μ‚¬λΆ„μœ„ λ²”μœ„(IQR)λ₯Ό λ‚˜νƒ€λ‚΄λŠ”λ°, μ΄λŠ” 첫 번째 μ‚¬λΆ„μœ„μˆ˜(25번째 λ°±λΆ„μœ„μˆ˜)와 μ„Έ 번째 μ‚¬λΆ„μœ„μˆ˜(75번째 λ°±λΆ„μœ„μˆ˜) μ‚¬μ΄μ˜ λ²”μœ„μž…λ‹ˆλ‹€. μƒμž λ‚΄λΆ€μ˜ 선은 λ°μ΄ν„°μ˜ 쀑앙값 λ˜λŠ” 50번째 λ°±λΆ„μœ„μˆ˜μž…λ‹ˆλ‹€. WhiskersλŠ” IQR의 1.5λ°° μ΄λ‚΄μ˜ 데이터 λ²”μœ„λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. 이 λ²”μœ„λ₯Ό λ²—μ–΄λ‚˜λŠ” 데이터 ν¬μΈνŠΈλŠ” μ΄μƒμΉ˜λ‘œ κ°„μ£Όλ˜μ–΄ κ°œλ³„ 포인트둜 ν‘œμ‹œλ©λ‹ˆλ‹€.

λ‹€μŒμ€ seaborn λ°•μŠ€ ν”Œλ‘―μ„ ν•΄μ„ν•˜λŠ” λ°©λ²•μ˜ μ˜ˆμ‹œμž…λ‹ˆλ‹€:

## λ°•μŠ€ ν”Œλ‘― 생성
sns.boxplot(x="day", y="total_bill", data=tips)

이 λ°•μŠ€ ν”Œλ‘―μ—μ„œλŠ” 각 λ‚ μ§œλ³„ 쀑앙값인 총 청ꡬ앑을 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. μƒμžλŠ” IQR을 λ‚˜νƒ€λ‚΄λ―€λ‘œ 맀일 고객 50%에 ν•΄λ‹Ήν•˜λŠ” 총 청ꡬ앑 λ²”μœ„λ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. WhiskerλŠ” IQR의 1.5λ°° μ΄λ‚΄μ˜ 총 청ꡬ앑 λ²”μœ„λ₯Ό 보여주며, 이 λ²”μœ„λ₯Ό λ²—μ–΄λ‚˜λŠ” λͺ¨λ“  ν¬μΈνŠΈλŠ” μ΄μƒμΉ˜μž…λ‹ˆλ‹€.

seaborn λ°•μŠ€ ν”Œλ‘― 주석

seaborn λ°•μŠ€ ν”Œλ‘―μ—λŠ” μΆ”κ°€ 정보λ₯Ό μ œκ³΅ν•˜κΈ° μœ„ν•΄ 주석을 μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, 쀑앙값, μ‚¬λΆ„μœ„μˆ˜ λ˜λŠ” μ΄μƒμΉ˜λ₯Ό ν•΄λ‹Ή κ°’μœΌλ‘œ μ£Όμ„μœΌλ‘œ ν‘œμ‹œν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ‹€μŒμ€ seaborn λ°•μŠ€ ν”Œλ‘―μ— 주석을 μΆ”κ°€ν•˜λŠ” λ°©λ²•μ˜ μ˜ˆμ‹œμž…λ‹ˆλ‹€:

## λ°•μŠ€ ν”Œλ‘― 생성
ax = sns.boxplot(x="day", y="total_bill", data=tips)
 
## 주석 μΆ”κ°€
for patch in ax.artists:
    r, g, b, a = patch.get_facecolor()
    patch.set_facecolor((r, g, b, .3))
    x = patch.get_x()
    y = patch.get_y()
    width = patch.get_width()
    height = patch.get_height()
    ax.text(x+width/2, y+height/2, "{:.2f}".format(height), ha='center', va='center')
 
plt.show()

이 μ˜ˆμ‹œμ—μ„œλŠ” 각 μƒμžμ˜ 높이λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 주석을 λ°•μŠ€ ν”Œλ‘―μ— μΆ”κ°€ν•©λ‹ˆλ‹€. 이 λ†’μ΄λŠ” IQR을 λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

κ²°λ‘ 

결둠적으둜, seaborn λ°•μŠ€ ν”Œλ‘―μ€ λ°μ΄ν„°μ˜ 뢄포λ₯Ό μ‹œκ°ν™”ν•˜κ³  μ΄ν•΄ν•˜λŠ” κ°•λ ₯ν•œ λ„κ΅¬μž…λ‹ˆλ‹€. seaborn 라이브러리λ₯Ό μ‚¬μš©ν•˜λ©΄ λͺ‡ μ€„μ˜ μ½”λ“œλ‘œ 맀λ ₯적이고 μœ μ΅ν•œ λ°•μŠ€ ν”Œλ‘―μ„ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€. μƒˆλ‘œμš΄ 데이터 μ„ΈνŠΈλ₯Ό νƒμƒ‰ν•˜κ±°λ‚˜ λ³΄κ³ μ„œλ₯Ό μ€€λΉ„ν•  λ•Œ seaborn λ°•μŠ€ ν”Œλ‘―μ€ ν•„μš”ν•œ 톡찰λ ₯을 얻을 수 μžˆλ„λ‘ 도움을 쀄 수 μžˆμŠ΅λ‹ˆλ‹€.

자주 λ¬»λŠ” 질문

seaborn λ°•μŠ€ ν”Œλ‘―μ΄ 무엇이며 μ–΄λ–»κ²Œ μ‚¬μš©λ˜λ‚˜μš”?

seaborn λ°•μŠ€ ν”Œλ‘―μ€ 데이터 μ„ΈνŠΈμ˜ 뢄포λ₯Ό λ‚˜νƒ€λ‚΄λŠ” κ·Έλž˜ν”½ λ°©μ‹μœΌλ‘œ, λ°μ΄ν„°μ˜ 쀑앙값, μ‚¬λΆ„μœ„μˆ˜ 및 μ΄μƒμΉ˜λ₯Ό λ³΄μ—¬μ€λ‹ˆλ‹€. λ°μ΄ν„°μ˜ 뢄포λ₯Ό μ‹œκ°ν™”ν•˜κ³  μ΄ν•΄ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ˜λ©°, λ‹€λ₯Έ 데이터 κ·Έλ£Ήκ°„μ˜ 뢄포λ₯Ό λΉ„κ΅ν•˜λŠ” 데에도 μ‚¬μš©λ©λ‹ˆλ‹€.

Pythonμ—μ„œ seaborn λ°•μŠ€ ν”Œλ‘―μ„ μ–΄λ–»κ²Œ λ§Œλ“€ 수 μžˆλ‚˜μš”?

seaborn.boxplot() ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ Pythonμ—μ„œ seaborn λ°•μŠ€ ν”Œλ‘―μ„ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€. 이 ν•¨μˆ˜μ— 데이터λ₯Ό μ „λ‹¬ν•˜κ³  λ‹€μ–‘ν•œ λ§€κ°œλ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ λ°•μŠ€ ν”Œλ‘―μ˜ 외관을 μ‚¬μš©μž μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

seaborn λ°•μŠ€ ν”Œλ‘―μ˜ 외관을 μ–΄λ–»κ²Œ μ‚¬μš©μž μ •μ˜ν•  수 μžˆλ‚˜μš”?

seaborn λ°•μŠ€ ν”Œλ‘―μ˜ 외관을 μ—¬λŸ¬ 가지 λ°©λ²•μœΌλ‘œ μ‚¬μš©μž μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ°©ν–₯을 λ³€κ²½ν•˜κ±°λ‚˜ 휴λ₯Ό μΆ”κ°€ν•˜κ³  색상을 μ‚¬μš©μž μ •μ˜ν•˜κ³  Whiskerλ₯Ό λ³€κ²½ν•˜λŠ” λ“± λ‹€μ–‘ν•œ λ°©λ²•μœΌλ‘œ 외관을 μ‚¬μš©μž μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ μΆ”κ°€ 정보λ₯Ό μ œκ³΅ν•˜κΈ° μœ„ν•΄ 주석을 μΆ”κ°€ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.