๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

ํŒŒ์ด์ฌ ์‹œ๊ฐํ™” ์ฝ”๋“œ 10๋ถ„ ์™„์„ฑ ๋น„๋ฒ•

by ์—์ด์—์Šค๋น„ํƒ€ 2025. 4. 7.
๋ฐ˜์‘ํ˜•

๐Ÿ“Š ํŒŒ์ด์ฌ ์‹œ๊ฐํ™” ์ฝ”๋“œ 10๋ถ„ ์™„์„ฑ ๋น„๋ฒ•

์•ˆ๋…•ํ•˜์„ธ์š”! ๐Ÿ‘‹ ๋ฐ์ดํ„ฐ ๋ถ„์„๊ณผ ์‹œ๊ฐํ™”์˜ ์„ธ๊ณ„์— ์˜ค์‹  ๊ฒƒ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ํŒŒ์ด์ฌ์„ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”๋ฅผ 10๋ถ„ ์•ˆ์— ์™„์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค๋“œ๋ฆด๊ฒŒ์š”. ๐Ÿš€ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”๋Š” ๋ณต์žกํ•œ ์ •๋ณด๋ฅผ ํ•œ๋ˆˆ์— ๋ณด์—ฌ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์• ์šฉํ•˜๋Š” ๊ธฐ์ˆ ์ด๋ž๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์‹œ์ž‘ํ•ด๋ณผ๊นŒ์š”? ๐Ÿ˜„

๐Ÿค“ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”๋ž€?

๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”(Data Visualization)๋ž€ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋ž˜ํ”ฝ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค. ๐Ÿ“ˆ ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐ์ดํ„ฐ๋ฅผ ๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„, ์›ํ˜• ๊ทธ๋ž˜ํ”„, ์‚ฐ์ ๋„ ๋“ฑ์˜ ํ˜•ํƒœ๋กœ ๋ณด์—ฌ์คŒ์œผ๋กœ์จ ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ์‰ฝ๊ฒŒ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”์˜ ์„ฑ๊ณต ์—ฌ๋ถ€๋Š” ์‹œ๊ฐํ™” ๊ธฐ์ˆ ์— ๋”ฐ๋ผ ํฌ๊ฒŒ ๋‹ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์—, ์˜ค๋Š˜ ๋ฐฐ์šธ ํŒŒ์ด์ฌ ์‹œ๊ฐํ™” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ Matplotlib๊ณผ Seaborn์ด ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค! ๐Ÿ’ช


๐Ÿ“‹ ํ•„์ˆ˜ ์ค€๋น„๋ฌผ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

์‹œ๊ฐํ™”๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ํ•„์š”ํ•œ ๊ฒƒ๋“ค์„ ์ฒดํฌํ•ด๋ณผ๊นŒ์š”? โœ…

  • ํŒŒ์ด์ฌ ์„ค์น˜ (Python Installation): Anaconda ๋˜๋Š” Python.org์—์„œ ํŒŒ์ด์ฌ ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜ํ•˜๊ธฐ
  • ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜:
    bash
    pip install matplotlib seaborn
  • ๋ฐ์ดํ„ฐ ์„ธํŠธ ์ค€๋น„: ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ ํŒŒ์ผ(CSV, Excel ๋“ฑ) ์ค€๋น„ํ•˜๊ธฐ

๐Ÿ“Š 1๋‹จ๊ณ„: Matplotlib์œผ๋กœ ๊ธฐ๋ณธ ๊ทธ๋ž˜ํ”„ ๊ทธ๋ฆฌ๊ธฐ

Matplotlib๋Š” ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ํŒŒ์ด์ฌ ์‹œ๊ฐํ™” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ๐Ÿฅ‡ ์•„๋ž˜๋Š” ๊ธฐ๋ณธ์ ์ธ ์„  ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆฌ๋Š” ์˜ˆ์‹œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

python
import matplotlib.pyplot as plt

๋ฐ์ดํ„ฐ ์ค€๋น„

x = [1, 2, 3, 4, 5]
y = [10, 20, 25, 30, 50]

์„  ๊ทธ๋ž˜ํ”„ ๊ทธ๋ฆฌ๊ธฐ

plt.plot(x, y, marker='o')
plt.title('์˜ˆ์‹œ ์„  ๊ทธ๋ž˜ํ”„')
plt.xlabel('X ์ถ•')
plt.ylabel('Y ์ถ•')
plt.grid(True)
plt.show()

โœ… ์ค‘์š”ํ‚คํฌ์ธํŠธ

  • marker='o'๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ๋ฅผ ๊ฐ•์กฐ
  • plt.grid(True)๋กœ ๊ทธ๋ฆฌ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ!

๐ŸŒˆ 2๋‹จ๊ณ„: Seaborn์œผ๋กœ ๊ณ ๊ธ‰ ์‹œ๊ฐํ™”

Seaborn์€ Matplotlib์˜ ๊ธฐ๋Šฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ, ๋”์šฑ ์„ธ๋ จ๋˜๊ณ  ์•„๋ฆ„๋‹ค์šด ๊ทธ๋ž˜ํ”„๋ฅผ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ค๋‹ˆ๋‹ค. ๐ŸŽจ

๐Ÿ“Š ์‚ฐ์ ๋„ ์˜ˆ์ œ

python
import seaborn as sns
import pandas as pd

๋ฐ์ดํ„ฐ ์ค€๋น„ (์˜ˆ: iris ๋ฐ์ดํ„ฐ ์„ธํŠธ)

iris = sns.load_dataset('iris')

์‚ฐ์ ๋„ ๊ทธ๋ฆฌ๊ธฐ

sns.scatterplot(data=iris, x='sepal_length', y='sepal_width', hue='species', style='species')
plt.title('์•„์ด๋ฆฌ์Šค ๊ฝƒ์˜ ์‚ฐ์ ๋„')
plt.show()

โญ ๋…ธํŠธ: hue์™€ style์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ‰์ƒ๊ณผ ์Šคํƒ€์ผ๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ”„ 3๋‹จ๊ณ„: ๋ฐ์ดํ„ฐ ํƒ์ƒ‰์„ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ๊ทธ๋ž˜ํ”„

๋‹ค์–‘ํ•œ ๊ทธ๋ž˜ํ”„ ํƒ€์ž…์ด ํ•„์š”ํ•  ๋•Œ, Seaborn์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์œ ์šฉํ•œ ์‹œ๊ฐํ™”๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ์œ ์šฉํ•œ ๊ทธ๋ž˜ํ”„ ํƒ€์ž…์„ ์†Œ๊ฐœํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค.

1. ๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„ (Bar Plot)

python
sns.barplot(data=iris, x='species', y='sepal_length')
plt.title('์ข…๋ณ„ ์„ธํŒ” ๊ธธ์ด ํ‰๊ท ')
plt.show()

2. ๋ฐ•์Šค ๊ทธ๋ž˜ํ”„ (Box Plot)

python
sns.boxplot(data=iris, x='species', y='sepal_length')
plt.title('์ข…๋ณ„ ์„ธํŒ” ๊ธธ์ด ๋ฐ•์Šคํ”Œ๋กฏ')
plt.show()

3. ํžˆํŠธ๋งต (Heatmap)

python
correlation = iris.corr()
sns.heatmap(correlation, annot=True)
plt.title('์ƒ๊ด€ ํžˆํŠธ๋งต')
plt.show()


๐Ÿ’ก 4๋‹จ๊ณ„: ๊ทธ๋ž˜ํ”„ ๊พธ๋ฏธ๊ธฐ ํŒ

์‹œ๊ฐํ™”๋ฅผ ๋”์šฑ ๋‹๋ณด์ด๊ฒŒ ํ•˜๋ ค๋ฉด ๊พธ๋ฏธ๊ธฐ๋ฅผ ์‹ ๊ฒฝ ์จ์•ผ ํ•ด์š”! ๐Ÿ“š ์—ฌ๊ธฐ ์ฐธ๊ณ ํ•  ๋งŒํ•œ ํŒ๋“ค์„ ์•Œ๋ ค๋“œ๋ฆด๊ฒŒ์š”.

  • ์ƒ‰์ƒ ๋ณ€๊ฒฝ: ๋‹ค์–‘ํ•œ ์ƒ‰์ƒ ํŒ”๋ ˆํŠธ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ •๋ณด ์ „๋‹ฌ๋ ฅ์„ ๋†’์ด์„ธ์š”. ๐ŸŒˆ
    • palette ์˜ต์…˜์„ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ํ…Œ๋งˆ๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํฐํŠธ ์กฐ์ •: ๊ทธ๋ž˜ํ”„ ์ œ๋ชฉ, ์ถ• ๋ ˆ์ด๋ธ”์— ์ ์ ˆํ•œ ํฐํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.
    python
    plt.title('์ œ๋ชฉ', fontsize=20, fontweight='bold')
  • ์‚ฌ์ง„ ์Šคํƒ€์ผ: ๊ทธ๋ž˜ํ”„์˜ ์Šคํƒ€์ผ์„ ๋งค๋ ฅ์ ์œผ๋กœ ๋ฐ”๊พธ๋ ค๋ฉด:
    python
    sns.set(style="whitegrid")

๐Ÿ“š ๊ฒฐ๋ก  ๋ฐ ๋‹ค์Œ ๋‹จ๊ณ„

์ž, ์ด์ œ ํŒŒ์ด์ฌ์˜ ๊ฐ•๋ ฅํ•œ ์‹œ๊ฐํ™” ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น ๋ฅด๊ณ  ์‰ฝ๊ฒŒ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค! ๐ŸŽ‰ ๋‹ค์Œ์€ ์—ฌ๋Ÿฌ๋ถ„์ด ์‹œ๋„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ์ œ์•ˆ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค:

  • ์ง์ ‘ CSV ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ๋‹ค์–‘ํ•œ ๊ทธ๋ž˜ํ”„๋ฅผ ์‹œ๋„ํ•ด ๋ณด์„ธ์š”. ๐Ÿ“
  • ์˜จ๋ผ์ธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์ฐธ์—ฌํ•˜์—ฌ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์•„๋ณด์„ธ์š”. ๐Ÿค
  • ๋ฉ‹์ง„ ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด ์›น์‚ฌ์ดํŠธ๋‚˜ ๋ธ”๋กœ๊ทธ์— ๊ณต์œ ํ•ด ๋ณด์„ธ์š”! ๐ŸŒ

โœ… ์ฃผ์š” ํฌ์ธํŠธ ์š”์•ฝ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”์˜ ์ค‘์š”์„ฑ ์ดํ•ดํ•˜๊ธฐ
  • Matplotlib๊ณผ Seaborn ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ• ์ตํžˆ๊ธฐ
  • ๋‹ค์–‘ํ•œ ๊ทธ๋ž˜ํ”„ ์ข…๋ฅ˜์™€ ๊พธ๋ฏธ๊ธฐ ๋ฐฉ๋ฒ• ๋ฐฐ์šฐ๊ธฐ

์ด์ œ ์—ฌ๋Ÿฌ๋ถ„๋„ 10๋ถ„ ์•ˆ์— ๋ฉ‹์ง„ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”๋ฅผ ๋งŒ๋“ค์–ด๋‚ผ ์ˆ˜ ์žˆ๊ฒ ์ฃ ? โœจ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”์˜ ์„ธ๊ณ„์—์„œ ์ฆ๊ฑฐ์šด ์‹œ๊ฐ„์„ ๋ณด๋‚ด์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค! ๐Ÿš€

๋ฐ˜์‘ํ˜•