์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ๋ค์ดํฐ๋ธ
- ๋ฐ์ดํฐ์๊ฐํ
- ๋ฐ์ดํฐ๋ถ์
- ์๋๋ก์ด๋์คํ๋์ค
- ์๋ฒ ๋ฉ
- linearalgebra
- AI
- ๋ฆฌ์กํธ
- ํ๊ตญ์ด์๋ฒ ๋ฉ
- ์ํ์ฝ๋ฉ
- ๋ฅ๋ฌ๋
- ๊ฒฐ์ ํธ๋ฆฌ
- react
- cs231n
- nlp
- c++
- ์ธํ๋ฐ
- Titanic
- ๋ถ์
- ๋ฐ์ดํฐ
- ์๊ณ ๋ฆฌ์ฆ
- Kaggle
- ๊นํ
- ์ ํ๋์ํ
- native
- ๋ฐฑ์ค
- ๋์
- ํ์ดํ๋
- ๋จธ์ ๋ฌ๋
- Git
- Today
- Total
yeon's ๐ฉ๐ป๐ป
[๋ฐ์ดํฐ ๋ถ์] ์ธ๋ฑ์ฑ๊ณผ ํํฐ๋ก ์๋ธ์ ๋ง๋ค๊ธฐ ๋ณธ๋ฌธ
[๋ฐ์ดํฐ ๋ถ์] ์ธ๋ฑ์ฑ๊ณผ ํํฐ๋ก ์๋ธ์ ๋ง๋ค๊ธฐ
yeon42 2021. 8. 3. 19:421.1 ์ธ๋ฑ์ฑ๊ณผ ํํฐ๋ก ์๋ธ์ ๋ง๋ค๊ธฐ
- ํน์ ๋ฐ์ดํฐ๋ง ๊ฐ์ ธ์ค๊ธฐ
- ์๋ธ์ ์ ์๋ก์ด ๋ณ์์ ์ ์ฅํ ๋๋ copy() ์ฌ์ฉํ๊ธฐ
df_food = df[df["์๊ถ์
์ข
๋๋ถ๋ฅ๋ช
"] == "์์"].copy()
- Series ๋ฐ์ดํฐ์์ "์์"์ธ ๊ฒ๋ง ์ถ์ถ
1.1.1 ๊ฐ๋จ๊ตฌ์ ์๊ถ์ ์ข ๋๋ถ๋ฅ๊ฐ ์์๋ง ๋ณด๊ธฐ
- ์๊ตฐ๊ตฌ๋ช ์ด '๊ฐ๋จ๊ตฌ'์ธ ๊ฒ๋ง
df[df["์๊ตฐ๊ตฌ๋ช
"]] == "๊ฐ๋จ๊ตฌ"].head()
- ์๊ตฐ๊ตฌ๋ช ์ด '๊ฐ๋จ๊ตฌ'์ด๊ณ ์๊ถ์ ์ข ๋๋ถ๋ฅ๋ช ์ด '์์'์ธ ๊ฒ๋ง
df[(df["์๊ตฐ๊ตฌ๋ช
"] == "๊ฐ๋จ๊ตฌ") & (df["์๊ถ์
์ข
๋๋ถ๋ฅ๋ช
"] == "์์")]
- 2๊ฐ ์ด์์ ์กฐ๊ฑด์ ๋ง์กฑ์ํค๊ฒ ํ๋ ค๋ฉด ๊ดํธ๋ฅผ ์น๊ณ &๋ก ์ฎ๋๋ค.
- ์๊ถ์ ์ข ๋๋ถ๋ฅ๋ช ๋ณ๋ก ๋น๋์ ๊ตฌํ๊ธฐ
df[(df["์๊ตฐ๊ตฌ๋ช
"] == "๊ฐ๋จ๊ตฌ") & (df["์๊ถ์
์ข
๋๋ถ๋ฅ๋ช
"] == "์์")].value_counts()
- loc์ผ๋ก ๋น๋์ ๊ตฌํ๊ธฐ
df.loc[(df["์๊ตฐ๊ตฌ๋ช
"] == "๊ฐ๋จ๊ตฌ") & (df["์๊ถ์
์ข
๋๋ถ๋ฅ๋ช
"] == "์์"), "์๊ถ์
์ข
์ค๋ถ๋ฅ๋ช
"].value_counts()
- loc[ํ, ์ด]
- ์ด ๋ฐฉ๋ฒ์ด ํจ์ฌ ๋น ๋ฅด๋ฏ๋ก ๊ถ์ฅ๋จ
1.2 ๊ตฌ๋ณ ์์์ ์ ์ข ๋น๊ตํ๊ธฐ
- ์๋๋ช ์ด '์์ธํน๋ณ์' ์ด๊ณ , ์๊ถ์ ์ข ๋๋ถ๋ฅ๋ช ์ด '์์' ์ธ ๊ฒ๋ง
df_seoul_food = df[(df["์๋๋ช
"] == "์์ธ") & (df["์๊ถ์
์ข
๋๋ถ๋ฅ๋ช
"] == "์์")].copy()
- ์๊ตฐ๊ตฌ๋ช , ์๊ถ์ ์ข ์ค๋ถ๋ฅ๋ช ์ผ๋ก ๊ทธ๋ฃนํํด ์์ ์ ์ธ์ด๋ณด๊ธฐ
food_gu = df_seoul_food.groupby(["์๊ตฐ๊ตฌ๋ช
", "์๊ถ์
์ข
์ค๋ถ๋ฅ๋ช
"])["์ํธ๋ช
"].count()
- ์ด๋ค ์ด์ด๋ ์๋ ๋๊ฐ์ผ๋ ์์๋ก '์ํธ๋ช ' col์ ์ฌ์ฉํด countํ๊ธฐ
- multi-index
* food_gu์ ๋ด๊ธด ๋ฐ์ดํฐ ์๊ฐํ ํ๊ธฐ
(1) pandas๋ก ๊ทธ๋ฆฌ๊ธฐ
- ์๊ถ์ ์ข ์ค๋ถ๋ฅ๋ช ๊ณผ ์์ ์ ๋ก barplot ๊ทธ๋ฆฌ๊ธฐ
food_gu.unstack().plot.bar()
- ์์์ food_gu๋ multi-index๋ก ๋์ด์๊ธฐ ๋๋ฌธ์ unstack()์ ํตํด pivot ํํ๋ก ๋ฐ๊ฟ์ค์ผ ํจ
- ๋ง์ง๋ง์ index๊ฐ col์ ์ค๊ฒ ๋๋ค.
- pandas๋ก ์๊ฐํ๋ฅผ ํ ๋๋ pivot ํํ๋ก ๋์ด์๋ ๋ฐ์ดํฐ๋ฅผ ๋ง๋ค์ด์ผ์ง ์๊ฐํ๊ฐ ๊ฐ๋ฅํ๋ค.
- ํน๋ณํ '๊ฐ๋จ๊ตฌ' ๋ง ๊ทธ๋ฆฌ๋ ค๋ฉด?
food_gu.unstack().loc["๊ฐ๋จ๊ตฌ"].plot.bar()
(2) seaborn ์ผ๋ก ๊ทธ๋ฆฌ๊ธฐ
food = food_gu.reset_index()
- '์ํธ๋ช '์ด๋ผ๋ column์ '์ํธ์'๋ก ๋ณ๊ฒฝํ๊ธฐ : rename(columns={"์๋":"๋ณ๊ฒฝ"})
food = food.rename(columns={"์ํธ๋ช
":"์ํธ์"})
plt.figure(figsize=(15, 4))
sns.barplot(data=food, x="์๊ถ์
์ข
์ค๋ถ๋ฅ๋ช
", y="์ํธ์")
- catplot์ ์ฌ์ฉํด ์๋ธํ๋กฏ ๊ทธ๋ฆฌ๊ธฐ
sns.catplot(data=food, x="์๊ถ์
์ข
์ค๋ถ๋ฅ๋ช
", y="์ํธ์", kind="bar", col="์๊ตฐ๊ตฌ๋ช
", col_wrap=4)
- col="์๊ตฐ๊ตฌ๋ช " : ๊ตฌ ๋ณ๋ก ๋ค๋ฅด๊ฒ ๊ทธ๋ฆฌ๊ณ ์ถ๋ค.
sns.catplot(data=food, x="์๊ตฐ๊ตฌ๋ช
", y="์ํธ์", kind="bar", col="์๊ถ์
์ข
์ค๋ถ๋ฅ๋ช
", col_wrap=4)
- ์๊ตฐ๊ตฌ๋ช ์ด ์๊ถ์ ์ข ์ค๋ถ๋ฅ๋ช ๋ณ๋ก ์ด๋ป๊ฒ ๊ทธ๋ ค์ง๋์ง
'Computer ๐ป > ๋ฐ์ดํฐ ๋ถ์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐ์ดํฐ ๋ถ์] isin์ผ๋ก ์๋ธ์ ๋ง๋ค๊ธฐ (0) | 2021.08.03 |
---|---|
[๋ฐ์ดํฐ ๋ถ์] ๊ตฌ๋ณ ํ์์ - seaborn์ผ๋ก ์๊ฐํ (0) | 2021.08.03 |
[๋ฐ์ดํฐ ๋ถ์] ์ฐ์ ๋, object ๋ฐ์ดํฐ ์์ฝ, ๋น๋์ ๊ตฌํ๊ธฐ (0) | 2021.07.31 |
[๋ฐ์ดํฐ ๋ถ์] ์๊ฐํ | ์๊ด๊ณ์, ์์นํ ๋ณ์ (0) | 2021.07.31 |
[๋ฐ์ดํฐ ๋ถ์] ๊ธฐ์ ํต๊ณ ๊ฐ(describe) (0) | 2021.07.31 |