240516 Today I Learn
๐ก Seaborn
์๊ฐํ๋ฅผ ์ํ ํ์ด์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ํ๋๋ก, matplotlib์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๋ฐ์ดํฐ ์๊ฐํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.
๋ฐ์ดํฐ ์ ํ์ ๋ฐ๋ฅธ Seaborn ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ตฌ๋ถ
๊ทธ๋ํ ์ ํ
|
ํจ์ |
์๋ฃ ์ ํ
|
ํน์ง
|
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)
→ y๊ฐ ๊ณ์ฐ ๋ฐฉ์ (stat)
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