[D+9] ๋ฐ์ดํฐ ๋ถ์์ ์ํ ํ์ด์ฌ(1) - ์ฝ๋ฉ(Colab) ์ค์น, ํต์ฌ ๋จ์ถํค, ์ฃผ์ ๋ฐ์ดํฐ ํ์
โ๏ธ STUDY INDEX
1. Colaboratory ํ๋ก๊ทธ๋จ ์ค์น ๋ฐ ํ๊ฒฝ ์ธํ
2. Colab ํต์ฌ ๋จ์ถํค
3. ํ์ด์ฌ ์ฃผ์ ๋ฐ์ดํฐ ํ์ ์ด์ ๋ฆฌ!
1. Colaboratory ํ๋ก๊ทธ๋จ ์ค์น ๋ฐ ํ๊ฒฝ ์ธํ
ํ์ด์ฌ(Python)์ ๊ฐ๊ฒฐํ๊ณ ์ง๊ด์ ์ธ(์ฆ, ๊ฐ๋ ์ฑ์ด ๋์) ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์.
์ฝ๋ ๊ฒฐ๊ณผ๋ฅผ ์ค ๋จ์๋ก ์์๋ก ํ์ธํ ์ ์์ด ์ ๋ฌธํ๊ธฐ ์ฌ์ด ์ธ์ด์ด๊ธฐ๋ ํ๊ณ ,
๐ฅ๋ฐ์ดํฐ ๋ถ์, ์๊ฐํ, ๋จธ์ ๋ฌ๋ ๋ฑ์ ์ฌ์ฉํ ์ ์์ด ๋ฐ์ดํฐ ๋ถ์๊ฐ์๊ฒ ๋๋ฌด๋ ์ค์ํ ์ธ์ด ๐ฅ๋ผ๊ณ ํฉ๋๋ค.
์ด๋ฐ ํ์ด์ฌ์ ์น ํ๊ฒฝ์์ ๊ตฌ๋ํ ์ ์๊ฒ ๋์์ฃผ๋ ๊ฒ์ด ๋ฐ๋ก ๊ตฌ๊ธ ์ฝ๋ฉ (Google Colab) ์ ๋๋ค!
๊ตฌ๊ธ์ด ์ ๊ณตํ๋ ๋ฌด๋ฃ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ Jupyter ๋ ธํธ๋ถ ํ๊ฒฝ์ผ๋ก, ์น์ ํตํด ํ์ด์ฌ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์คํผํ ์ ์์ด์.
์ค์น๊ฐ ๋งค์ฐ ๊ฐ๋จํ๊ณ ๋น ๋ฅด๊ณ ํธ๋ฆฌํ๊ธฐ ๋๋ฌธ์, ์ ๋ฌธ์ ๋ถ๋ค์ ํด๋น ํ๋ก๊ทธ๋จ์ ์ด์ฉํ์ ๋ ์ข์ ๋ฏํฉ๋๋ค.
์๋ ์ฝ๋ฉ์ ์ค์นํ๋ ๋ฐฉ๋ฒ์ ๊ฐ๋จํ๊ฒ ์๋ ค๋๋ฆด๊ฒ์.
โ ๊ตฌ๊ธ ์ฝ๋ฉ ์ค์น ๋ฐฉ๋ฒ
- ๊ตฌ๊ธ ๋๋ผ์ด๋ธ์ ์ฝ๋ฉ ์ ์ฉ ํด๋ ์์ฑํ๊ธฐ
๊ตฌ๊ธ์์ ์ ๊ณตํ๋ ํฌ๋กฌ(Chrome) ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ์ฉํด์ผ ํ๊ณ ,
์ฝ๋ฉ ํ์ผ์ด ๊ตฌ๊ธ ๋๋ผ์ด๋ธ์ ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ ๋ณ๋๋ก ํด๋๋ฅผ ์์ฑํด์ ์ฌ์ฉํด์ฃผ์๋ ๊ฒ์ด ์ข์์.
๋ถํ์ํ๋ค๋ฉด ์คํตํ์ ๋ ๋ฉ๋๋ค. - ๊ตฌ๊ธ ๋๋ผ์ด๋ธ ํด๋์์ [ ์ฐํด๋ฆญ → ๋๋ณด๊ธฐ ํด๋ฆญ → ์ฐ๊ฒฐํ ์ฑ → Colaboratory ๊ฒ์ ๋ฐ ์ค์น ]
์ ๋ ์ด๋ฏธ ์ค์น๊ฐ ๋์ด ์์ด ๋ฐ๋ก ๋จ๋๋ฐ '์ฐ๊ฒฐํ ์ฑ ๋๋ณด๊ธฐ'์์ ๊ฒ์ํด์ฃผ์๋ฉด ๋ฉ๋๋ค. - ์ค์น๊ฐ ๋๋ฌ๋ค๋ฉด, ํด๋๋ก ๋์์ ๋ค์ [์ฐํด๋ฆญ → Colaboratory] ๋ฅผ ๋๋ฌ์ฃผ์๋ฉด ํ๋ก๊ทธ๋จ์ ์คํํ์ค ์ ์์ด์.
2. Colab ํต์ฌ ๋จ์ถํค
๋งค์ฐ ๊ฐ๋จํ์ง๋ง ์๊ณ ์์ผ๋ฉด ์๊ฐ์ ๋จ์ถํด์ฃผ๋ ๊ธฐ๋ณธ์ ์ธ ๋จ์ถํค ์๊ฐํด๋๋ ค์!
๋งฅ(mac) ์ ์ ๋ถ๋ค์ ctrl์ command๋ก ๋ฐ๊ฟ์ ์ฌ์ฉํด์ฃผ์๋ฉด ๋ฉ๋๋ค.
๋จ์ถํค | ์คํ ๋ด์ฉ |
Shift + Enter | ์ฝ๋ ์คํ |
Ctrl + M + A | ์ฝ๋์ ์ถ๊ฐ |
Ctrl + M + D | ์ฝ๋์ ์ญ์ |
Ctrl + M + - (ํ์ดํ) | ์ฝ๋์ ๋ถํ |
Ctrl + M + M | ์
์ ํ ๋ณ๊ฒฝ *์ฝ๋์ → ๋งํฌ๋ค์ด ์ ๋ก ๋ณ๊ฒฝ๋จ. |
3. ํ์ด์ฌ์ ๋ฐ์ดํฐ ํ์ (Data type)
๋ณ์๋ ๊ฐ์ ์ ์ฅํ๋ ๊ณต๊ฐ์ผ๋ก = ๋ฑํธ ์ฐ์ฐ์๋ฅผ ํ์ฉํด์ ๊ฐ์ ์ ์ฅํด์ค๋๋ค. "ํจ์๋ช = ๊ฐ" ํํ๋ก ๋ณ์๋ฅผ ์ ์ธํด์.
ํ์ด์ฌ์ ๋์ ํ์ดํ ์ธ์ด๋ผ ๋ณ์์ ํ ๋น๋๋ ๊ฐ์ ๋ฐ๋ผ ๋ฐ์ดํฐ ํ์ ์ด ๊ฒฐ์ ๋๋๋ฐ์!
๋ฐ์ดํฐ ํ์ ์ ํฌ๊ฒ 4๊ฐ์ง ์ข ๋ฅ์ด๊ณ , ์ซ์์ ์ํ์ค๋ ๋ ์ธ๋ถ์ ์ผ๋ก ๋๋ ์ ์์ด์.
๊ทธ๋ฆฌ๊ณ ํ๋ก ์ ๋ฆฌํ์ง ์์์ง๋ง, ์ข ์ข ๋ณด๊ฒ ๋ 2๊ฐ์ง ๋ณ์ ์ ํ(๋ถ๋ฆฌ์ธ, NaN)๋ ์๋ ๊ฐ๋จํ๊ฒ ์ค๋ช ๋๋ฆด๊ฒ์.
โ Python Data types
01. Numeric type |
02. Dictionary |
03. Sequence type |
04. Set |
||||
Integers ์ ์ํ |
Floats ์ค์ํ |
Complex ๋ณต์์ |
Dictionary ๋์ ๋๋ฆฌ{} |
List ๋ฆฌ์คํธ[] |
Tuple ํํ() |
Strings ๋ฌธ์์ด"' |
Set ์งํ |
# Numeric Type (์ซ์ํ)
num_int = 10 # ์ ์ํ
num_float = 3.14 # ์ค์์ ํ
num_complex = 1 + 2j # ๋ณต์์ํ
# Dictionary (์ฌ์ )
# ํค, ๊ฐ์ ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์๋ฃํ
# ์์๊ฐ ์๊ณ , ํค๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ ๊ฒ์ํจ.
my_dict = {'apple': '์ฌ๊ณผ', 'banana': '๋ฐ๋๋', 'cherry': '์ฒด๋ฆฌ'}
# Sequence Type (์ํ์ค ํ)
# ์ฌ๋ฌ ํญ๋ชฉ์ ์งํฉ์ ๋ํ๋ด๋ ์๋ฃํ
# ์ํ์คํ์ ์์๊ฐ ์๊ณ , ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ ์ ์์.
my_list = [1, 2, 3, 4, 5] # ๋ฆฌ์คํธ
my_tuple = (1, 2, 3, 4, 5) # ํํ
my_string = "Hello, World!" # ๋ฌธ์์ด
#Set (์งํฉ)
# ์ ์ผํ ์์๋ค๋ก ๊ตฌ์ฑ๋ ์๋ฃํ
# ์์๊ฐ ์๊ณ , ์ค๋ณต๋ ๊ฐ์ ํฌํจํ์ง ์์.
my_set = {1, 2, 3, 4, 5}
โ ๋ถ๋ฆฌ์ธ (Boolean)
์๋ฃํ์ด ์ฃผ์ด์ง ์กฐ๊ฑด์ด ์ฐธ(true) ๋๋ ๊ฑฐ์ง(false)์ธ์ง ๋ํ๋ด๋ ์๋ฃํ์ ๋๋ค.
์กฐ๊ฑด์์ ํ๊ฐํ ๋ ๋ง์ด ํ์ฉํด์.
#Boolean ๋ณ์ ์ ์ธ
weekday = TRUE
weekend = FALSE
#๋น๊ต ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ Boolean ๊ฐ ๋น๊ต
X = 10
Y = 9
A = X > Y
print(A) # TRUE ์ถ๋ ฅ
โก NaN (๊ฒฐ์ธก๊ฐ)
NaN(Not a Number)์ ์ ์ํ ์ ์๋ ์์น๊ฐ์ ์๋ฏธํฉ๋๋ค. ex) 0์ผ๋ก ๋๋๊ธฐ
์ฃผ๋ก ์์น ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ์์ ์์ ๋ง์ด ์ฌ์ฉ๋๋๋ฐ, NaN ๊ฐ์ด ํฌํจ๋ ๋ฐ์ดํฐ ์ฐ์ฐ์ ๊ฒฐ๊ณผ๋ ๋ชจ๋ NaN์ด ๋๋ค๊ณ ํด์.
๊ทธ๋์ ๊ฒฐ์ธก์น๋ฅผ ๋ค๋ฅธ ๊ฐ์ผ๋ก ๋์ฒดํ๊ฑฐ๋ ์ญ์ ํ์ฌ ๊ฒฐ๊ณผ๊ฐ์ ์ฒ๋ฆฌํด์ฃผ์ด์ผ ํฉ๋๋ค.
# NaN ๊ฐ์ ํฌํจํ ๋ฐ์ดํฐํ๋ ์ ์์ฑ
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': [1, 2, np.nan, 4],
'B': [5, np.nan, np.nan, 8],
'C': [9, 10, 11, 12]})
print(df)
# ์ถ๋ ฅ:
# A B C
# 0 1.0 5.0 9
# 1 2.0 NaN 10
# 2 NaN NaN 11
# 3 4.0 8.0 12
2024. 4. 29
์ค๋์ ๊ณต๋ถ๋ ์ฌ๊ธฐ๊น์ง์ ๋๋ค.
TIL(Today I Learned) ์์ฑ์ ์๊ฐ์ ๋ง์ด ํ ์ ํ๋ค๋ณด๋, ์ ์ ๋ถ๋ด์ด ๋์ด์ ์ง๋ ์ฃผ์๋ 3์ผ ๋ฐ์ ์์ฑํ์ง ๋ชปํ์ด์. ์ฌ์ค ๋ธ๋ก๊ทธ ๊ธ์ ์ ๋ฆฌํ๋ฉด์ ๋ณต์ตํ๋ ํ์ ์ด๋ผ, ํฌ์คํ ์ด ์ ๊ฒ๋ ๋ง์ด ์ ์ตํ ์๊ฐ์ธ๋ฐ ์ง๋์ฃผ์๋ ํ์ต์ ๋ง์ด ์ง์คํ์ง ๋ชปํ ๊ฒ ๊ฐ์์. ๐ฅ์ด๋ฒ์ฃผ๋ ์ฃผ 5์ผ ๋น ์ง์์ด ์งํํด๋ณด๊ฒ ์ต๋๋ค๐ฅ์๋ง ์ด๋ฒ์ฃผ์๋ ํ์ด์ฌ ๊ธฐ์ด์ ๊ฐ์๋ฅผ ๋ฃ๊ณ ๋ฐฐ์ด ์ ์ ์ฃผ๋ก ์ฌ๋ฆฌ์ง ์์๊น ์ถ์ด์.
๊ทธ๋ฆฌ๊ณ ์ง๊ธ๊น์ง ํ๋ ๊ฒ์ฒ๋ผ ๊ฐ๋ ์ ์ ๋ฆฌํ๋ ํฌ์คํ ์ธ์๋ ํ๋ก๊ทธ๋๋จธ์ค SQL ๋ฌธ์ ํ์ด ํฌ์คํ ๋ ์ข ์ข ์งํํ๋ ค๊ณ ํด์! ๋ฌธ์ ํ์ดํ๋ฉด์ ์๋กญ๊ฒ ์๊ฒ ๋ ๋ด์ฉ์ด๋ ์ฃผ์ํด์ผํ ๋ด์ฉ์ ์ ๋ฆฌํด์ผํ ํ์์ฑ์ ๋๋ผ๊ณ ์๊ฑฐ๋ ์ ใ ใ ํค๋งธ๋ ๊ฐ๋ ์ ์กฐ๊ธ ๋ ์ด๋ ต๊ฒ ๊ผฌ์์ ๋ด๋ฉด, ๋ ํค๋งค๊ฑฐ๋ ์ค๋ฅ๋ฅผ ์ ํ๊ฒ ๋๋ ...!! ๊ทธ๋ฐ ์ํฉ์ด ์๋ค๋ณด๋, ์ ๋๋ก ์ ๋ฆฌํด์ ๊ธฐ๋ณธ ์๋ฆฌ๋ฅผ ์ ๋ฟ์ ๋ณด๊ฒ ์ต๋๋ค๐
* <๋ฐ์ดํฐ ๋ถ์ ํ์ด์ฌ ์ข ํฉ๋ฐ> 1์ฃผ์ฐจ ๊ฐ์๋ฅผ ํ์ตํ๊ณ ์๋ฐ์ ์ผ๋ก ์์ฑํ ํฌ์คํ ์ ๋๋ค.