๐ Topics
- Pandas
- Anaconda
โ๏ธ ๋ฐ์ดํฐ ๋ถ์
๋ฐ์ดํฐ ๋ถ์์ ์๋์ 4๊ฐ์ง ๊ณผ์ ์ผ๋ก ์ด๋ฃจ์ด์ง๋ค.
1. Data Preprocessing
๋ฐ์ดํฐ ๋ถ์ ๋ฐ ์ฒ๋ฆฌ ๊ณผ์ ์์ ๊ฐ์ฅ ์ค์ํ ๋จ๊ณ๋ก์, ๋ฐ์ดํฐ๋ฅผ ๋ถ์ ๋ฐ ์ฒ๋ฆฌ์ ์ ํฉํ ํํ๋ก ๋ง๋๋ ๊ณผ์ ์ ๋งํ๋ค.
๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ ๋จ๊ณ๋ ์๋์ ๊ฐ์ ์์๋๋ก ์งํ๋๋ค.๋ฐ์ดํฐ ์์ง -> ๋ฐ์ดํฐ ์ ์ -> ๋ฐ์ดํฐ ํตํฉ -> ๋ฐ์ดํฐ ์ถ์ -> ๋ฐ์ดํฐ ๋ณํ
๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ๋ฅผ ์๋ก ๋ค์๋ฉด ์ค๋ณต๊ฐ ์ ๊ฑฐ, ๊ฒฐ์ธก๊ฐ ๋ณด์ , ๋ฐ์ดํฐ ์ฐ๊ณ/ํตํฉ, ๋ ธ์ด์ฆ ์ ๊ฑฐ, ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ณ๊ฒฝ, outlier detection, feature engineering ๋ฑ์ด ์กด์ฌํ๋ค.
2. Data Analysis - visualization
๊ฐ๊ณต๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐํ์ผ๋ก ์ ์ฉํ ์ธ์ฌ์ดํธ๋ฅผ ๋์ถํ๋ ๊ฒ์ ๋ฐ์ดํฐ ๋ถ์์ด๋ผ๊ณ ํ๊ณ
๋ถ์๋ ๋ฐ์ดํฐ๋ฅผ ํ ๋์ ์์๋ณด๊ธฐ ์ฝ๊ฒ ๋ณด์ฌ์ฃผ๊ธฐ ์ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์๊ฐํํ๋ค.
Insight
๋ฐ์ดํฐ ๋ถ์์์์ ์ธ์ฌ์ดํธ๋ ์ด 3๊ฐ์ง๊ฐ ์กด์ฌํ๋ค.
์ฒซ๋ฒ์งธ๋ก ์์ธ - ๊ฒฐ๊ณผ ์ธ๊ณผ๊ด๊ณ๋ฅผ ๋ช ํํ๊ฒ ํ์ ํ ์ ์๋ ์ธ๊ณผ์ถ๋ก ํต์ฐฐ์ ๋ํ ์ธ์ฌ์ดํธ์
๋๋ฒ์งธ๋ก ํต๊ณ์ ์ง์์ ๊ฐ์ง๊ณ ํด์ํ์ฌ ๊ฒฐ๊ณผ์ ๋ํ ์ ๋ขฐ์ฑ์ ๋์ผ ์ ์๋ ํต๊ณ์ ํต์ฐฐ์ ๋ํ ์ธ์ฌ์ดํธ.
๋ง์ง๋ง์ผ๋ก ๊ฒฐ๊ณผ๋ก๋ถํฐ ์ฌ๋ฐ๋ฅธ ๊ฒฐ๋ก ์ ๋์ถํ๊ณ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ธ์ฌ์ดํธ๊ฐ ์กด์ฌํ๋ค.
3. Data mining
๋์ฉ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์กด์ฌํ๋ ๋ฐ์ดํฐ ๊ฐ์ ๊ด๊ณ, ํจํด, ๊ท์น์ ์ฐพ์๋ด์ด ์ ์ฉํ ์ ๋ณด๋ก ๋ณํํ๋ ๊ณผ์ ์ ๋งํ๋ค.
4. Data modeling
์ ๋ณด ์์คํ ๊ตฌ์ถ์ ๋์์ด ๋๋ ์ ๋ฌด ๋ด์ฉ์ ๋ถ์ํ๊ณ ์ดํดํ์ฌ ์ฝ์๋ ํ๊ธฐ๋ฒ์ ์ํด ๋ชจ๋ธ์ ๋ง๋ค์ด ํํํ๋ ๊ฒ์ ๋งํ๋ค.
Pandas
- ๊ฐ๋ฐ ํ๊ฒฝ

Google์ด ์ ๊ณตํ๋ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ Jupyter Notebook ํ๊ฒฝ์ Google colab ์ด๋ผ๊ณ ํ๋๋ฐ, Python code๋ฅผ ์์ฑํ์ฌ ์คํ ๊ฐ๋ฅํ๊ณ ML, DL, Data Analysis ๋ฑ์ ์์ ์ ์ํํ๊ธฐ ์ข๋ค. ์ด๋ฒ ์ค์ต์์๋ ์ด Google colab ํ๊ฒฝ์์ ๋ฐ์ดํฐ ๋ถ์ ์ค์ต์ ์งํํ๋ค.
Cell : ์ฝ๋๋ฅผ ์คํ์ํค๊ฑฐ๋ ์ค๋ช ํ ์คํธ๋ฅผ ์์ฑํ๋ block
| Code cell | Text cell |
| Crtl / Shift / Alt + Enter ํตํด ์คํ ๊ฐ๋ฅ Ctrl + Enter : ์คํ ํ ํค๋ณด๋ ์ปค์๊ฐ ์ ๋ด ๊ทธ๋๋ก Shift + Enter : ์คํ ํ ํค๋ณด๋ ์ปค์๊ฐ ๋ค์ ์ ๋ก Alt + Enter : ์คํ ํ ์ code cell ์์ฑ, ํค๋ณด๋ ์ปค์๊ฐ ๋ค์ cell |
์ ๋ ฅ ๋ฌธ๋ฒ์ Markdown ๋ฌธ๋ฒ์ ๋ฐ๋ฆ |
- ํ์ ๋ชจ๋ ์ฐธ์กฐ
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
numpy๋ ์ธ๊ณต์ง๋ฅ, ๋ฐ์ดํฐ ๋ถ์์์ ๋ง์ด ์ฌ์ฉ๋๋ ๋ชจ๋์ด๋ค. matplotlib๋ ๋ฐ์ดํฐ ์๊ฐํ์์ ์ฌ์ฉ๋๋ ๋ชจ๋์ธ๋ฐ, ์์ฆ์ seaborn์ ๋ ๋ง์ด ์ฌ์ฉํ๋ค๊ณ ํ๋ค.
- Colab ์ฌ์ฉ
1. Notebook ํ๊ฒฝ์์๋ ๋ง์ง๋ง์ return ๊ฐ์ด ์ถ๋ ฅ ๊ฐ์ผ๋ก ์ฌ์ฉ๋จ
Google colab์ ํ๋์ sell์ด colab์์ ์คํํ ์ ์๋ ์ต์ ๋จ์์ธ๋ฐ, ๊ทธ sell ์์ ์กด์ฌํ๋ ์ฝ๋๋ฅผ ํ๊บผ๋ฒ์ ์คํํ ํ ๊ฒฐ๊ณผ๋ก ๋ํ๋ธ๋ค. ๊ทธ sell์์ ๋ง์ง๋ง return ๊ฐ์ด ํ๋ฉด์ผ๋ก ์ถ๋ ฅ๋๋ ๊ฒ์ด๋ค.
2. Google colab์์ chart๋ฅผ ์ถ์ฒํด์ฃผ๋ option์ด ์กด์ฌํ๋ค.

Python Pandas ๋ชจ๋์ ์ฌ์ฉํ๊ณ ๋ฐ์ดํฐ๋ฅผ loadํ์ฌ df๋ผ๋ variable name์ผ๋ก ์ง์ ํ ๊ฒ์ด๋ค. ์์์ ๋งํ๋ฏ์ด ๋ง์ง๋ง return ๊ฐ์ด ํ๋ฉด์ผ๋ก ์ถ๋ ฅ๋๋ฏ๋ก df๋ผ๋ dataframe์ด ์ถ๋ ฅ๋๊ณ ์๋ค. ๊ฑฐ๊ธฐ์ "Suggest charts" ๋ผ๋ Option์ด ์กด์ฌํ๋๋ฐ, Google colab์์ ์ถ์ฒํด์ฃผ๋ ๊ฐ์ข ์๊ฐํ๋ ์ฐจํธ๋ค์ ๋ณด์ฌ์ค๋ค.
- ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ๋ ์ฃผ์ํ ์

๋ง์ง๋ง ์ค์ ๋ณด๋ฉด memory usage ๋ผ๊ณ ์ ํ ์๋๋ฐ, ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ๋์๋ ๋ฉ๋ชจ๋ฆฌ์ ํฌ๊ธฐ๋ฅผ ์ฃผ์ํ์ฌ ์ฌ์ฉํด์ผ ํ๋ค. ์ ๋ฐ์ดํฐ๋ ์์ ๋ฐ์ดํฐ ์ฉ๋์ ๊ฐ์ง๊ณ ์์ด์ ๋ถ์ํ๋ ๋ฐ ์ด๋ ค์์ด ์์ง๋ง, ํฐ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ๋์๋ ์ฃผ์ํด์ผ ํ ์ ์ด ๋ง์ผ๋ฏ๋ก ํญ์ ์๊ฐํ์ฌ์ผ ํ๋ค.
3. ํ๊ธ ํฐํธ ์ด์ ํด๊ฒฐ
google colab์ ํ๊ธ ํฐํธ๋ฅผ ์ง์ํ์ง ์๊ธฐ ๋๋ฌธ์, ํ๊ธ์ด ๋ค์ด๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ฌ์ผ ํ๋ค. ์ด ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ ๊ฐ์ง๊ฐ ์กด์ฌํ๋๋ฐ, Local์์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ๊ณผ colab ๋ด๋ถ์์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ด ์กด์ฌํ๋ค.
# ํ๊ธ ํฐํธ ์ด์ ํด๊ฒฐ - ๋ก์ปฌ
import os
import matplotlib.pyplot as plt
if os.name == "posix" :
plt.rc("font", family = "AppleGothic")
else:
plt.rc("font", family = "Malgun Gothic")
# ํ๊ธ ์ด์ ํด๊ฒฐ - Colab
!sudo apt-get install -y fonts-nanum
!sudo fc-cache -fv
!rm ~/.cache/matplotlib -rf
- File ํจ์
ํ์ผ์ ์ฝ๊ณ ์ธ ์ ์๋ ํจ์๋ค์ด Pandas์ ์กด์ฌํ๋ค. R์ ๋ํ ์ง์์ด ์๋๋ฐ, R๊ณผ ๋น์ทํ ๋ถ๋ถ์ด ์๋ ๊ฒ์ด R์์๋ ์ด๋ฌํ ํจ์๊ฐ ์กด์ฌํ๋ค. ๋ํ์ ์ธ ๋ช ๊ฐ์ ํจ์๋ง ์ง๊ณ ๋์ด๊ฐ๊ฒ ๋ค.
| ํจ์ | ์ค๋ช | Option |
| pandas.read_csv | ||
| pandas.read_table | ||
| pandas.read_excel | .xlsx ํ์ผ์ ์ฝ๋ ํจ์ | |
์ฌ๊ธฐ์ ํน์ง์ ํ๋ ์ดํด๋ณด์๋ฉด pandas์์ file์ ์ฝ๊ณ ๋ ํ ๋ฐํ๊ฐ์ ๋ฐ๋์ dataframe ์ผ๋ก ๋๋ค๋ ๊ฒ์ด๋ค.
- Dataframe - Series
Dataframe์ 2์ฐจ์ ์๋ฃ ํํ์ด๊ณ , ํ ํํ๋ก ์ถ๋ ฅ๋๋ค. Series๋ 1์ฐจ์ ์๋ฃ ํํ์ด๊ณ ํ ํํ๊ฐ ์๋ .
'Bootcamp' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Week 11] Day 2 - TIL (1) | 2024.02.06 |
|---|---|
| [Week 11] Day 1 - TIL (0) | 2024.02.05 |
| [Week 10] Day 1 - TIL (2) | 2024.02.05 |
| [Week 8] Day 4 - TIL (4) | 2024.01.12 |
| [Week 8] Day 1 - TIL (2) | 2024.01.08 |