๐Ÿ“’ Today I Learn/๐Ÿ Python

[๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”] ํŒŒ์ด์ฌ์œผ๋กœ ๊ทธ๋ž˜ํ”„ ๊ทธ๋ฆฌ๊ธฐ : seaborn (1) ๊ธฐ๋ณธ ๊ทธ๋ž˜ํ”„

ny:D 2024. 5. 16. 17:06

240516 Today I Learn

๐Ÿ’ก Seaborn 
์‹œ๊ฐํ™”๋ฅผ ์œ„ํ•œ ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ ํ•˜๋‚˜๋กœ, matplotlib์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.

 

๋ฐ์ดํ„ฐ ์œ ํ˜•์— ๋”ฐ๋ฅธ Seaborn ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ตฌ๋ถ„

์ด๋ฏธ์ง€ ์ถœ์ฒ˜ : https://wikidocs.net/86290

 

๊ทธ๋ž˜ํ”„ ์œ ํ˜•
ํ•จ์ˆ˜
์ž๋ฃŒ ์œ ํ˜•
ํŠน์ง•
Line Plot
sns.lineplot
์—ฐ์†ํ˜• ๋ฐ์ดํ„ฐ
๋ฐ์ดํ„ฐ์˜ ๋ณ€ํ™” ๋ฐ ์ถ”์ด๋ฅผ ์‹œ๊ฐํ™”
Bar Plot
sns.barplot
๋ฒ”์ฃผํ˜• ๋ฐ์ดํ„ฐ
์นดํ…Œ๊ณ ๋ฆฌ ๋ณ„ ๊ฐ’์˜ ํฌ๊ธฐ๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ๋น„๊ต
Histogram
sns.histplot
์—ฐ์†ํ˜• ๋ฐ์ดํ„ฐ
๋ฐ์ดํ„ฐ ๋ถ„ํฌ, ๋นˆ๋„, ํŒจํ„ด ๋“ฑ์„ ์ดํ•ด
Box Plot
sns.boxplot
์—ฐ์†ํ˜• ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํฌ
์ค‘์•™๊ฐ’, ์‚ฌ๋ถ„์œ„์ˆ˜, ์ตœ์†Œ๊ฐ’, ์ตœ๋Œ€๊ฐ’, ์ด์ƒ์น˜ ํ™•์ธ
Scatter Plot
sns.scatterplot
๋‘ ๋ณ€์ˆ˜ ๊ฐ„ ๊ด€๊ณ„
๋ณ€์ˆ˜ ๊ฐ„์˜ ๊ด€๊ณ„, ๊ตฐ์ง‘, ์ด์ƒ์น˜ ๋“ฑ ํ™•์ธ

Line Plot

๐Ÿ’ก Line Plot
sns.lineplot(data='๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„๋ช…', x='๋ฒ”์ฃผํ˜• ๋ฐ์ดํ„ฐ', y = '์—ฐ์†ํ˜• ๋ฐ์ดํ„ฐ')
  • ๊ธฐ๋ณธ lineplot ๊ทธ๋ฆฌ๊ธฐ

sns.lineplot(data=flights, x = 'year', y = 'passengers')

→ ์—ฐํ•œ ํ•˜๋Š˜์ƒ‰์œผ๋กœ ์น ํ•ด์ง„ ๋ถ€๋ถ„ = ๋ฐ์ดํ„ฐ์˜ ์‹ ๋ขฐ๊ตฌ๊ฐ„

  • hue ์˜ต์…˜์„ ์ด์šฉํ•˜๋ฉด ์ด๋ ‡๊ฒŒ month ๋ณ„๋กœ ๋‹ค๋ฅธ ์ƒ‰์ƒ์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ๋ฝ‘์„ ์ˆ˜ ์žˆ๋‹ค. (์ž๋™์œผ๋กœ leged๋„ ๊ทธ๋ ค์คŒ)

sns.lineplot(data=flights, x = 'year', y = 'passengers', hue = 'month')

Bar Plot

๐Ÿ’ก Bar Plot
sns.barplot(data='๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„', x='x์ถ•์— ๋“ค์–ด๊ฐˆ ์ปฌ๋Ÿผ', y = 'y์ถ•์— ๋“ค์–ด๊ฐˆ ์ปฌ๋Ÿผ')

๊ทธ๋ฃนํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„๋กœ ๋‚˜ํƒ€๋‚ผ ๋•Œ

sns.barplot(data=annual_passengers, x='year', y = 'passengers', palette='husl')

๊ทธ๋ฃนํ™” ๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ง‰๋Œ€๊ทธ๋ž˜ํ”„๋กœ ๋‚˜ํƒ€๋‚ผ ๋•Œ

sns.barplot(data=flights, x='year', y = 'passengers', palette='husl')
  • barplot์€ ๊ฐ๊ฐ์˜ x์ถ•(์—ฐ๋„) ๊ฐ’์— ๋Œ€ํ•ด ํ•˜๋‚˜์˜ ๋Œ€ํ‘œ๊ฐ’์„ y์ถ•(์Šน๊ฐ ์ˆ˜)์œผ๋กœ ์„ค์ •ํ•ด์•ผํ•˜๋ฏ€๋กœ ๋ฐ์ดํ„ฐ์˜ ํ‰๊ท ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œ์‹œํ•œ๋‹ค.
  • ์ด๋•Œ ๊ฐ bar์— ๊ฝ‚ํ˜€์žˆ๋Š” ๊ฒ€์€์ƒ‰ ์„ ์€ ๋ฐ์ดํ„ฐ์˜ ์‹ ๋ขฐ๊ตฌ๊ฐ„์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

Histogram

  • ํžˆ์Šคํ† ๊ทธ๋žจ ๊ทธ๋ฆฌ๊ธฐ

sns.histplot(iris['sepal_length'])
  • ํžˆ์Šคํ† ๊ทธ๋žจ ์˜ต์…˜ ์ถ”๊ฐ€ํ•˜๊ธฐ

sns.histplot(x=tips['total_bill'],
                color='green', ## ์ƒ‰์ƒ
                bins=10, ## ๊ตฌ๊ฐ„์˜ ๊ธธ์ด
                kde=True, ## ๋ฐ€๋„ ํ•จ์ˆ˜ ๊ณก์„  ์ถ”๊ฐ€(default = False)
                element='step', ## ํžˆ์Šคํ† ๊ทธ๋žจ ํ‘œ์‹œํ˜•์‹,
                stat='percent', ## y๊ฐ’ ๊ณ„์‚ฐ ๋ฐฉ์‹,
                cumulative=False, ## True์ธ ๊ฒฝ์šฐ ๋ˆ„์  ๋ถ„ํฌ ํ˜•ํƒœ๋กœ ๊ทธ๋ฆผ
                )

→ ํžˆ์Šคํ† ๊ทธ๋žจ ํ‘œ์‹œ ํ˜•์‹(element)

 

element = 'step' / 'bars' / 'poly'

→ y๊ฐ’ ๊ณ„์‚ฐ ๋ฐฉ์‹ (stat)

stat = count/frequency/probability/percent/density

Box Plot

Box Plot

๐Ÿ’ก Box Plot
sns.boxplot(data=๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„, x='x์ถ•์— ๋“ค์–ด๊ฐˆ ์ปฌ๋Ÿผ', y = 'y์ถ•์— ๋“ค์–ด๊ฐˆ ์ปฌ๋Ÿผ')โ€‹
  • ๊ธฐ๋ณธ boxplot ๊ทธ๋ฆฌ๊ธฐ

sns.boxplot(data=iris, x='species', y='sepal_length')
  • boxplot ์˜ต์…˜ ์ถ”๊ฐ€ํ•˜๊ธฐ

sns.boxplot(data=tips, x='day', y = 'tip',
            order=['Sun','Thur','Fri','Sat'], #xlabel ์ˆœ์„œ
            color='r', # ๋ฐ•์Šค ์ƒ‰์ƒ
            width=0.5, # ๋ฐ•์Šค ํญ 0~1
            fliersize=10, # ์•„์›ƒ๋ผ์ด์–ด ๋งˆ์ปค ์‚ฌ์ด์ฆˆ
            linewidth=4, # ๋ผ์ธ ๋‘๊ผ
            )

Violine Plot

๐Ÿ’ก Violine Plot
 ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํฌ์™€ ๋ฒ”์œ„๋ฅผ ํ•œ๋ˆˆ์— ๋ณด๊ธฐ ์‰ฝ๊ฒŒ ๋‚˜ํƒ€๋‚ด๋Š” ๊ทธ๋ž˜ํ”„ ํ˜•์‹์œผ๋กœ ๋ฐ•์Šค ํ”Œ๋กฏ (Box plot)๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ ๋” ์‹ค์ œ์— ๊ฐ€๊นŒ์šด ๋ถ„ํฌ๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋Š” ํ”Œ๋กฏ์ด๋‹ค.
sns.violinplot(data=flights, x="year", y="passengers")โ€‹

sns.violinplot(data=flights, x='year', y = 'passengers')

Swarm Plot

๐Ÿ’ก Swarm Plot
barplot๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ x์ถ•(์—ฐ๋„)๋ณ„ y์ถ•(์Šน๊ฐ ์ˆ˜) ๊ฐ’์„ ํ‘œ์‹œํ•˜์ง€๋งŒ, ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํฌ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ํ‘œ์‹œํ•จ.
sns.swarmplot(data=๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„, x="x์ถ•์— ๋“ค์–ด๊ฐˆ ๋ฒ”์ฃผํ˜• ๋ฐ์ดํ„ฐ", y="y์ถ•์— ๋“ค์–ด๊ฐˆ ์—ฐ์†ํ˜•๋ฐ์ดํ„ฐ")

sns.swarmplot(data=flights, x="year", y="passengers")

Scatter Plot

 

ํŒ๋‹ค์Šค(Pandas) ์„ธ์…˜ #4 Seaborn์œผ๋กœ ์‚ฐ์ ๋„ ๊ทธ๋ฆฌ๊ธฐ

240514 Today I LearnSeaborn ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•ด ์‚ฐ์ ๋„ ๊ทธ๋ฆฌ๊ธฐ๐Ÿ’ก Seaborn ์‹œ๊ฐํ™”๋ฅผ ์œ„ํ•œ ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ ํ•˜๋‚˜๋กœ, ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.matplotlib ๊ธฐ๋ฐ˜๋น„๊ต์ 

archivenyc.tistory.com