EDA (ํ์์ ๋ฐ์ดํฐ ๋ถ์)
: ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ด๋ ๊ณผ์ ์ ์์ด์ ์ง์์ ์ผ๋ก ํด๋น ๋ฐ์ดํฐ์ ๋ํ ํ์๊ณผ ์ดํด๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ๊ฐ์ ธ๊ฐ์ผ ํจ
#1 ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ถ๋ฌ์ค๊ธฐ (import)
import [๋ผ์ด๋ธ๋ฌ๋ฆฌ] as [์ฌ์ฉํ ์ด๋ฆ]
ex) import pandas as pd
#2 ํ์ด์ฌ ํ์ผ ๋ถ๋ฌ์ค๊ธฐ (read_csv)
data = pd.read_csv('ํ์ผ๊ฒฝ๋ก/ํ์ผ์ด๋ฆ.csv')
ex) import pandas as pd
data = pd.read_csv('data/test.csv')
- ํ์ด์ฌ์์ ๋ฐ์ดํฐํ์ผ (csvํ์ผ)์ ๋ถ๋ฌ์ค๊ธฐ ์ํด์๋ pandas ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํด์ผ ํจ ( import pandas as pd )
#3 ํ์ด์ฌ ํ์ด ๊ฐฏ์ ํ์ธํ๊ธฐ (shape)
[dataframe ๋ณ์๋ช ].shape
ex) test.shpe
- csvํ์ผ์ pandas ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ ๊ณตํ๋ dataframe ๊ฐ์ฒด๋ก ๋ณํํ๋ค๋ฉด ์ฐ์ ๋ถ๋ฌ์จ ๋ฐ์ดํฐ์ ํ๊ณผ ์ด ๊ฐฏ์๋ฅผ shape attribute๋ก ๊ด์ฐฐ ๊ฐ๋ฅ
#4 ํ์ด์ฌ ๋ฐ์ดํฐ ํ์ธํ๊ธฐ (head())
[dataframe ๋ณ์๋ช ].head()
ex) test.head()
- head()๋ pandas ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ ํ์ธํ๋ ๋ฉ์๋
- head()๋ ๋ฐ์ดํฐ์ ์ ๋ถ๋ฅผ ๋ณด์ฌ์ฃผ์ง ์๊ณ ๋ฐ์ดํฐ์ ์๋จ๋ถ๋ถ๋ง ์ถ๋ ฅ
- tail()์ ๋ฐ์ดํฐ์ ํ๋จ ๋ถ๋ถ์ ์ถ๋ ฅํ์ฌ ๋ณด์ฌ์ค
- head(10)์ด๋ผ๊ณ ํ๋ฉด ์์ 10๊ฐ ์ถ๋ ฅ ! head()ํ๋ฉด ์์ 5๊ฐ ์ถ๋ ฅ ! 5๊ฐ๊ฐ ๊ธฐ๋ณธ๊ฐ
#5 ํ์ด์ฌ ๊ฒฐ์ธก์น ํ์ธํ๊ธฐ (is_null())
df.isnull() : ๊ฒฐ์ธก์น ํ์ธ
df.isnull().sum() : ๊ฐ ์ด๋ณ๊ฒฐ์ธก์น์ ์ ํ์ธ๊ฐ๋ฅ
- ๊ฒฐ์ธก์น๋ ๋ง ๊ทธ๋๋ก ๋ฐ์ดํฐ์ ๊ฐ์ด ์์์ ๋ปํจ (NA)
- pandas์์๋ ๊ฒฐ์ธก์น๋ฅผ NaN์ผ๋ก ํํ
- isnull() ๋ฉ์๋๋ dataframe์์ ๋ฐ์ดํฐ๊ฐ NaN๊ฐ์ด๋ฉด True ์๋๋ฉด False ๊ฐ ๋ฐํ