๐Ÿ“ฆ๋ถ„์„ ํ”„๋กœ์ ํŠธ/๐Ÿป ์ด๋ชจํ‹ฐ์ฝ˜ ํŠธ๋ Œ๋“œ ๋ฐ ํ†ต๊ณ„ ๋ถ„์„

๐Ÿป ์ด๋ชจํ‹ฐ์ฝ˜ ํŠธ๋ Œ๋“œ ๋ฐ ํ†ต๊ณ„ ๋ถ„์„ (5) - ์‹œ๊ฐํ™”๋ฅผ ํ†ตํ•œ ๋ถ„์„

๋ฐ์ดํ„ฐํŒ์Šค 2024. 10. 15. 00:05

๋ผ๋ฒจ๋ณ„ ๋นˆ๋„ ๋ถ„์„

import matplotlib.pyplot as plt

# ์ƒ์œ„ N๊ฐœ์˜ ๋ผ๋ฒจ๋งŒ ํ‘œ์‹œ (์˜ˆ: ์ƒ์œ„ 20๊ฐœ)
top_n = 20
label_counts_top = label_counts_df.head(top_n)

# ๊ทธ๋ž˜ํ”„ ๊ทธ๋ฆฌ๊ธฐ
plt.figure(figsize=(10, 6))
plt.bar(label_counts_top['Label'], label_counts_top['Count'])
plt.title('Label Frequency')
plt.xlabel('Labels')
plt.ylabel('Count')

# x์ถ• ๋ผ๋ฒจ์„ 90๋„๋กœ ํšŒ์ „
plt.xticks(rotation=90)

# ๊ทธ๋ž˜ํ”„ ๋ณด์—ฌ์ฃผ๊ธฐ
plt.tight_layout()
plt.show()

FONT, Gesture, Art, Happy, Cartton, Jaw, Nose, Humna body, Smile, Eye

์ด ์ˆœ์œผ๋กœ ๋งŽ์Šต๋‹ˆ๋‹ค. ์•„๋ฌด๋ž˜๋„ ์ž‘์€ ์นธ์— ์ด๋ฏธ์ง€๋ฅผ ๋‹ค ๋‚˜ํƒ€๋‚ด์–ด์•ผ ํ•˜๋‹ค ๋ณด๋‹ˆ

๋ชธ ์ „์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ ์–ผ๊ตด ์œ„์ฃผ๋กœ ์ด๋ชจํ‹ฐ์ฝ˜์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ํ„ฑ, ๋ˆˆ ๊ฐ™์€ ๋ผ๋ฒจ๋“ค์ด ์ƒ์œ„๊ถŒ์ด๊ตฌ์š”.

ํฐํŠธ, ์ œ์Šค์ณ, ์•„ํŠธ๊ฐ€ ์••๋„์ ์œผ๋กœ ๋งŽ๋„ค์š”.

์•„ํŠธ๋Š” ๊ทธ๋ฆผ์ด๋‹ˆ ๋…ผ์™ธ๋กœ ์น˜๋ฉด ์ธ๊ธฐ ์žˆ๋Š” ์ด๋ชจํ‹ฐ์ฝ˜๋“ค์€ ํฐํŠธ๋ฅผ ๋งŽ์ด ์“ฐ๊ณ , ์›€์ง์ด๋Š” ์ด๋ชจํ‹ฐ์ฝ˜๋“ค์ด ๋งŽ์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

 

import pandas as pd
from wordcloud import WordCloud
import matplotlib.pyplot as plt


# 1. '๋ผ๋ฒจ1'๋ถ€ํ„ฐ '๋ผ๋ฒจ10'๊นŒ์ง€์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜๋กœ ๊ฒฐํ•ฉ
all_labels = df[['๋ผ๋ฒจ1', '๋ผ๋ฒจ2', '๋ผ๋ฒจ3', '๋ผ๋ฒจ4', '๋ผ๋ฒจ5', '๋ผ๋ฒจ6', '๋ผ๋ฒจ7', '๋ผ๋ฒจ8', '๋ผ๋ฒจ9', '๋ผ๋ฒจ10']].stack()

# 2. ๋นˆ๋„๋ฅผ ๊ณ„์‚ฐ (value_counts)
label_frequencies = all_labels.value_counts()

# 3. ๋ผ๋ฒจ ๋นˆ๋„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์›Œ๋“œ ํด๋ผ์šฐ๋“œ ์ƒ์„ฑ
wordcloud = WordCloud(width=800, height=400, background_color='white').generate_from_frequencies(label_frequencies)

# 4. ์›Œ๋“œ ํด๋ผ์šฐ๋“œ ์‹œ๊ฐํ™”
plt.figure(figsize=(10, 6))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.title('Label Word Cloud')
plt.show()

์›Œ๋“œํด๋ผ์šฐ๋“œ๋กœ ๋‚˜ํƒ€๋‚ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค!

๊ธ€์”จ ํฐ๊ฒƒ๋“ค๋งŒ ๋ช‡๊ฐœ ๋ณผ๊นŒ์š”

ํ•‘ํฌ์ƒ‰๊ณผ ๋งˆ์  ํƒ€ ์ƒ‰์ƒ์ด ๋งŽ์Šต๋‹ˆ๋‹ค. ์บ๋ฆญํ„ฐ ๋””์ž์ธ์„ ์ •ํ• ๋•Œ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ๊ฒ ์ง€์š”

๋˜ํ•œ ์›€์ง์ด๋Š” ๋ชจ์Šต, ํฐํŠธ๋“ค๋„ ๋งŽ์ด ์“ฐ์ด๊ณ  ๋Œ€์ฒด์ ์œผ๋กœ ํ–‰๋ณตํ•œ ๋ชจ์Šต์˜ ์ด๋ชจํ‹ฐ์ฝ˜์ด ๋งŽ๋‚˜ ๋ณด๋„ค์š”.

Snout, Jaw๊ฐ€ ์žˆ๋Š”๊ฑฐ ๋ณด๋ฉด ์ฃผ๋‘ฅ์ด, ํ„ฑ์ธ๋ฐ ๋™๋ฌผ ์ด๋ชจํ‹ฐ์ฝ˜์ด ๋งŽ์•„์„œ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Fictional Character(ํ—ˆ๊ตฌ์˜ ์ธ๋ฌผ)๊ฐ€ ๋ณด์ด๋Š” ์ด์œ ๋„ ๋™๋ฌผ ์ด๋ชจํ‹ฐ์ฝ˜(๋™๋ฌผ์„ ์บ๋ฆญํ„ฐ๋กœ ๊ฐ€์ƒํ™”) ๋•Œ๋ฌธ ๊ฐ™์Šต๋‹ˆ๋‹ค.    

 

 

 

์ˆœ์œ„๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ผ๋ณ„ ๋นˆ๋„  ๋ถ„์„

์ˆœ์œ„๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฐ ๋ผ๋ฒจ์˜ ๋นˆ๋„๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์ƒ์œ„ ์ˆœ์œ„์—์„œ ์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š” ํŠน์ง•์„ ํŒŒ์•…

import pandas as pd
import matplotlib.pyplot as plt

# ์ƒ์œ„ 20์œ„ ๋ฐ์ดํ„ฐ ์ถ”์ถœ
top_ranked = combined_df[combined_df['์ˆœ์œ„'] <= 20]

# ์ƒ์œ„ ์ˆœ์œ„์—์„œ ์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š” ๋ผ๋ฒจ
top_labels = top_ranked['Labels'].str.split(', ').explode().value_counts()

# ๊ฒฐ๊ณผ ์ถœ๋ ฅ
print(top_labels)

# ๊ทธ๋ž˜ํ”„ ํฌ๊ธฐ ์กฐ์ • (figsize๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํฌ๊ธฐ๋ฅผ ์ง€์ •)
plt.figure(figsize=(10, 6))  # ๊ฐ€๋กœ 10์ธ์น˜, ์„ธ๋กœ 6์ธ์น˜๋กœ ์„ค์ •
top_labels.plot(kind='bar', title='Top Ranked Labels')

# ๊ทธ๋ž˜ํ”„ ๋ณด์—ฌ์ฃผ๊ธฐ
plt.tight_layout()  # ๋ ˆ์ด์•„์›ƒ์„ ์ž๋™์œผ๋กœ ์กฐ์ •ํ•˜์—ฌ ๊ธ€์ž๊ฐ€ ์ž˜๋ฆฌ์ง€ ์•Š๋„๋ก
plt.show()

 

์ˆœ์œ„๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•ด๋„ ๋™์ผ ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ๋ผ๋ฒจ ๋ถ„ํฌ ๋ถ„์„

๊ฐ ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„๋กœ ๊ฐ€์žฅ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ผ๋ฒจ์„ ์‹œ๊ฐ์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ด์–ด ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ํŠธ๋ Œ๋“œ๋ฅผ ํŒŒ์•…ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด๋ฅผ ํ†ตํ•ด ๋””์ž์ธ ์š”์†Œ์˜ ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ์ฐจ๋ณ„ํ™”๋ฅผ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import font_manager, rc

# ํ•œ๊ธ€ ํฐํŠธ ์„ค์ • (Windows์˜ ๊ฒฝ์šฐ ๊ธฐ๋ณธ์ ์œผ๋กœ 'Malgun Gothic'์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค)
font_path = "C:/Windows/Fonts/malgun.ttf"  # ํฐํŠธ ๊ฒฝ๋กœ (OS์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค)
font_name = font_manager.FontProperties(fname=font_path).get_name()
rc('font', family=font_name)

# Labels ์—ด์ด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ผ๋ฒจ์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ ','๋กœ ๋ถ„๋ฆฌ
df['Labels'] = df['Labels'].str.split(',')
df = df.explode('Labels').reset_index(drop=True)

# ์นดํ…Œ๊ณ ๋ฆฌ ๋ฆฌ์ŠคํŠธ
categories = ['์ผ์ƒ', '์—ฐ์• ', 'ํšŒ์‚ฌ']

# ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„๋กœ ํŒŒ์ด์ฐจํŠธ ๊ทธ๋ฆฌ๊ธฐ
for category in categories:
    # ํ•ด๋‹น ์นดํ…Œ๊ณ ๋ฆฌ ํ•„ํ„ฐ๋ง
    category_data = df[df['์นดํ…Œ๊ณ ๋ฆฌ'] == category]
    
    # ๋ผ๋ฒจ๋ณ„ ๋นˆ๋„ ๊ณ„์‚ฐ ๋ฐ ์ƒ์œ„ 10๊ฐœ ์„ ํƒ
    label_counts = category_data['Labels'].value_counts().head(10)
    
    # ํŒŒ์ด์ฐจํŠธ ์‹œ๊ฐํ™”
    plt.figure(figsize=(8, 8))
    plt.pie(label_counts, labels=label_counts.index, autopct='%1.1f%%', startangle=90)
    plt.title(f'{category} ์นดํ…Œ๊ณ ๋ฆฌ์˜ ์ƒ์œ„ 10๊ฐœ ๋ผ๋ฒจ ๋ถ„ํฌ')
    plt.axis('equal')  # ํŒŒ์ด์ฐจํŠธ๋ฅผ ์›ํ˜•์œผ๋กœ
    plt.show()

์ผ์ƒ : Font > Art > Gesture > Happy > Cartoon

์—ฐ์•  : Art > Gestrue > Font > Happy > Cartoon

ํšŒ์‚ฌ: Art > Font > Happy > Gesture > Rectangle

- ์ผ์ƒ์€ '์•ˆ๋…•ํ•˜์„ธ์š”. ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค' ๋“ฑ ๋‚ด์šฉ์„ ์ „ํ•ด์•ผ ํ•˜๋Š”๊ฒŒ ๋งŽ์•„์„œ ํฐํŠธ๊ฐ€ 1์œ„๋ฅผ ์ฐจ์ง€ ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

- ์—ฐ์• ๋Š” Gesture๊ฐ€ ์ƒ์œ„๊ถŒ์ธ๋ฐ ์•„๋ฌด๋ž˜๋„ '์‚ฌ๋ž‘'์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์›€์ง์ด๋Š” ๋™์ž‘์ด ๋งŽ์€๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

- ํšŒ์‚ฌ๋Š” Font์™€ Rectangle์ด ์ƒ์œ„๊ถŒ์ธ๋ฐ ํšŒ์‚ฌ์—์„œ ์ผํ•  ๋•Œ ์“ฐ๋Š” ๋ฌธ๊ตฌ๋“ค 'ํ‡ด๊ทผํ•˜๊ณ  ์‹ถ๋‹ค, ํ”ผ๊ณคํ•ด' ์ด๋Ÿฐ ๋‹จ์–ด๋“ค์ด ์ž์ฃผ ์‚ฌ์šฉ๋˜์–ด์„œ ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.  ๋˜ํ•œ ํšŒ์‚ฌ ๋ฌธ์„œ, ์ปดํ“จํ„ฐ, ๋…ธํŠธ๋ถ, ์ฑ…, ๊ฒฐ์žฌ์„œ๋ฅ˜, ๊ฐ€๋ฐฉ ๋“ฑ์ด ์ง์‚ฌ๊ฐํ˜• ํ˜•ํƒœ๋ฅผ ๋„๊ณ  ์žˆ์–ด์„œ Rectangle์ด ํฌํ•จ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

 

 

์นดํ…Œ๊ณ ๋ฆฌ(์ผ์ƒ,์—ฐ์• )์— ๋”ฐ๋ฅธ ์ข…๋ฅ˜์˜ ๋ถ„ํฌ

 

import pandas as pd
import matplotlib.pyplot as plt
import squarify  # ํŠธ๋ฆฌ๋งต ๊ทธ๋ฆฌ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ

# ์นดํ…Œ๊ณ ๋ฆฌ '์ผ์ƒ'๋งŒ ํ•„ํ„ฐ๋ง
daily_df = df[df['์นดํ…Œ๊ณ ๋ฆฌ'] == '์ผ์ƒ']

# '์ผ์ƒ' ์นดํ…Œ๊ณ ๋ฆฌ์—์„œ ์ข…๋ฅ˜๋ณ„ ๋นˆ๋„์ˆ˜ ๊ณ„์‚ฐ
daily_type_counts = daily_df['์ข…๋ฅ˜'].value_counts().reset_index()
daily_type_counts.columns = ['์ข…๋ฅ˜', 'Count']

# ํŠธ๋ฆฌ๋งต ์‹œ๊ฐํ™”
plt.figure(figsize=(8, 6))
squarify.plot(sizes=daily_type_counts['Count'], label=daily_type_counts['์ข…๋ฅ˜'], alpha=.8)
plt.title('์ผ์ƒ ์นดํ…Œ๊ณ ๋ฆฌ์˜ ์ข…๋ฅ˜ ๋ถ„ํฌ - ํŠธ๋ฆฌ๋งต')
plt.axis('off')  # ์ถ•์„ ์ˆจ๊น€
plt.show()

# ์นดํ…Œ๊ณ ๋ฆฌ '์—ฐ์• '๋งŒ ํ•„ํ„ฐ๋ง
romance_df = df[df['์นดํ…Œ๊ณ ๋ฆฌ'] == '์—ฐ์• ']

# '์—ฐ์• ' ์นดํ…Œ๊ณ ๋ฆฌ์—์„œ ์ข…๋ฅ˜๋ณ„ ๋นˆ๋„์ˆ˜ ๊ณ„์‚ฐ
romance_type_counts = romance_df['์ข…๋ฅ˜'].value_counts().reset_index()
romance_type_counts.columns = ['์ข…๋ฅ˜', 'Count']

# ํŠธ๋ฆฌ๋งต ์‹œ๊ฐํ™”
plt.figure(figsize=(8, 6))
squarify.plot(sizes=romance_type_counts['Count'], label=romance_type_counts['์ข…๋ฅ˜'], alpha=.8)
plt.title('์—ฐ์•  ์นดํ…Œ๊ณ ๋ฆฌ์˜ ์ข…๋ฅ˜ ๋ถ„ํฌ - ํŠธ๋ฆฌ๋งต')
plt.axis('off')  # ์ถ•์„ ์ˆจ๊น€
plt.show()

plt.show()

 

๋„๋„› ์ฐจํŠธ๋กœ ๋‚˜ํƒ€๋‚ด๋‹ˆ ๊ธ€์ž๊ฐ€ ์ž˜๋ ค์„œ ํŠธ๋ฆฌ๋งต์œผ๋กœ ๋‚˜ํƒ€๋ƒˆ์Šต๋‹ˆ๋‹ค. 

 

์ผ์ƒ : ์‚ฌ๋žŒ>๊ณ ์–‘์ด>๊ฐ•์•„์ง€>๋งŒํ™”์บ๋ฆญํ„ฐ>๊ณฐ ์ˆœ์œผ๋กœ ๋งŽ์Šต๋‹ˆ๋‹ค

์—ฐ์•  : ์‚ฌ๋žŒ>๊ฐ•์•„์ง€>ํ† ๋ผ>๊ณฐ,์ˆ˜๋‹ฌ ์ˆœ์œผ๋กœ ๋งŽ์Šต๋‹ˆ๋‹ค

๋‘ ๊ทธ๋ž˜ํ”„์—์„œ ๊ฐ•์•„์ง€์™€ ์‚ฌ๋žŒ์ด ์••๋„์ ์œผ๋กœ ๋งŽ์€ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

์˜์™ธ๋กœ ๊ณ ์–‘์ด๋Š” ์—ฐ์•  ์นดํ…Œ๊ณ ๋ฆฌ์—์„œ๋Š” ํ™•์ธํ•  ์ˆ˜ ์—†๋Š”๋ฐ์š”. ๊ฐ•์•„์ง€๋‚˜ ์‚ฌ๋žŒ์— ๋น„ํ•ด ์ปคํ”Œ๋กœ ๋‚˜ํƒ€๋‚ด๊ธฐ ์–ด๋ ค์›Œ์„œ ์ผ๊นŒ์š”?

๊ฐ•์•„์ง€๋Š” ๋งํ‹ฐ์ฆˆ-๋ฆฌํŠธ๋ฆฌ๋ฒ„ ์ด๋ ‡๊ฒŒ ์ง์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋Œ€ํ‘œ ๋™๋ฌผ์ด ๋– ์˜ค๋ฅด๋Š”๋ฐ ๊ณ ์–‘์ด๋Š” ๋– ์˜ค๋ฅด์ง€ ์•Š๋„ค์š”.  

์˜์™ธ๋กœ ํ† ๋ผ๋Š” ์ผ์ƒ์—์„œ๋Š” ์ˆœ์œ„๊ฐ€ ์ƒ์œ„๊ถŒ 5์œ„์•ˆ์—๋Š” ๋“ค์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™๋„ค์š”

 

 

 

์ข…๋ฅ˜์— ๋”ฐ๋ฅธ ๋ถ„ํฌ

import pandas as pd
import matplotlib.pyplot as plt

# 1. ์ข…๋ฅ˜๋ณ„ ๋นˆ๋„ ๊ณ„์‚ฐ
type_counts = df['์ข…๋ฅ˜'].value_counts()

# 2. ์ข…๋ฅ˜๋ณ„ ๋นˆ๋„์ˆ˜ ํ…Œ์ด๋ธ” ์ถœ๋ ฅ
print("์ข…๋ฅ˜๋ณ„ ๋นˆ๋„์ˆ˜:")
print(type_counts)

# 3. ๋„๋„› ์ฐจํŠธ ์‹œ๊ฐํ™” (๊ฐœ์ˆ˜ ํ‘œ์‹œ)
plt.figure(figsize=(8, 8))
plt.pie(type_counts, labels=[f'{label}: {count}๊ฐœ' for label, count in zip(type_counts.index, type_counts.values)],
        autopct=None, startangle=90, wedgeprops={'width': 0.3})
plt.gca().set_aspect('equal')  # ์ฐจํŠธ๋ฅผ ์›ํ˜•์œผ๋กœ ๋งŒ๋“ฆ
plt.title('์ข…๋ฅ˜์— ๋”ฐ๋ฅธ ๋ถ„ํฌ')
plt.show()

์ข…๋ฅ˜์™€ ์นดํ…Œ๊ณ ๋ฆฌ์— ๋”ฐ๋ฅธ ๊ฐ๊ฐ์˜ ๋ถ„ํฌ๋ฅผ ๊ตฌํ•˜์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์•„์„œ

๋”ฐ๋กœ ๊ตฌํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

์‚ฌ๋žŒ > ๊ฐ•์•„์ง€ > ๊ณ ์–‘์ด > ๋งŒํ™”์บ๋ฆญํ„ฐ > ๊ณฐ > ๋น„๋ฒ„,ํ† ๋ผ > ํ–„์Šคํ„ฐ ์ˆœ์œผ๋กœ ๋งŽ์Šต๋‹ˆ๋‹ค.

์˜์™ธ๋กœ ๋น„๋ฒ„๊ฐ€ ๋งŽ๋„ค์š”..?

 

 

์นดํ…Œ๊ณ ๋ฆฌ์— ๋”ฐ๋ฅธ ๋ถ„ํฌ

import pandas as pd
import matplotlib.pyplot as plt


# 1. ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ๋นˆ๋„ ๊ณ„์‚ฐ
category_counts = df['์นดํ…Œ๊ณ ๋ฆฌ'].value_counts()

# 2. ํŒŒ์ด ์ฐจํŠธ ์‹œ๊ฐํ™”
plt.figure(figsize=(8, 8))  # ์ฐจํŠธ ํฌ๊ธฐ ์„ค์ •
plt.pie(category_counts, labels=category_counts.index, autopct='%1.1f%%', startangle=90)
plt.title('์นดํ…Œ๊ณ ๋ฆฌ์— ๋”ฐ๋ฅธ ๋ถ„ํฌ')
plt.axis('equal')  # ํŒŒ์ด ์ฐจํŠธ๋ฅผ ์›ํ˜•์œผ๋กœ
plt.show()

์ผ์ƒ์ด ์••๋„์ ์œผ๋กœ ๋งŽ์Šต๋‹ˆ๋‹ค.

ํšŒ์‚ฌ ์ด๋ชจํ‹ฐ์ฝ˜์€ ์•„์ง ๋ธ”๋ฃจ์˜ค์…˜์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์•„์š”.

 

 

์ด๋ ‡๊ฒŒ ์‹œ๊ฐํ™”๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋“ค์„ ๋ถ„์„ ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๊ธ€์—๋Š” ํ†ต๊ณ„ ๋ถ„์„์„ ์ ์šฉ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค