๐Ÿ’กPython

[D+9] ๋ฐ์ดํ„ฐ ๋ถ„์„์„ ์œ„ํ•œ ํŒŒ์ด์ฌ(1) - ์ฝ”๋žฉ(Colab) ์„ค์น˜, ํ•ต์‹ฌ ๋‹จ์ถ•ํ‚ค, ์ฃผ์š” ๋ฐ์ดํ„ฐ ํƒ€์ž…

๊น€์ˆฎ์—‰ 2024. 4. 29. 18:13

๋ฐ์ดํ„ฐ ๋ถ„์„ ํŒŒ์ด์ฌ ์ข…ํ•ฉ๋ฐ˜! ๊ณต๋ถ€ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค ~~~!!!

 

โœ๏ธ STUDY INDEX 

1. Colaboratory ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜ ๋ฐ ํ™˜๊ฒฝ ์„ธํŒ… 
2. Colab ํ•ต์‹ฌ ๋‹จ์ถ•ํ‚ค 
3. ํŒŒ์ด์ฌ ์ฃผ์š” ๋ฐ์ดํ„ฐ ํƒ€์ž… ์ด์ •๋ฆฌ! 

 

1. Colaboratory ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜ ๋ฐ ํ™˜๊ฒฝ ์„ธํŒ…

ํŒŒ์ด์ฌ(Python)์€ ๊ฐ„๊ฒฐํ•˜๊ณ  ์ง๊ด€์ ์ธ(์ฆ‰, ๊ฐ€๋…์„ฑ์ด ๋†’์€) ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ˆ์š”. 

์ฝ”๋“œ ๊ฒฐ๊ณผ๋ฅผ ์ค„ ๋‹จ์œ„๋กœ ์ˆ˜์‹œ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด ์ž…๋ฌธํ•˜๊ธฐ ์‰ฌ์šด ์–ธ์–ด์ด๊ธฐ๋„ ํ•˜๊ณ ,  

๐Ÿ”ฅ๋ฐ์ดํ„ฐ ๋ถ„์„, ์‹œ๊ฐํ™”, ๋จธ์‹ ๋Ÿฌ๋‹ ๋“ฑ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ๋ฐ์ดํ„ฐ ๋ถ„์„๊ฐ€์—๊ฒŒ ๋„ˆ๋ฌด๋‚˜ ์ค‘์š”ํ•œ ์–ธ์–ด ๐Ÿ”ฅ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. 

 

์ด๋Ÿฐ ํŒŒ์ด์ฌ์„ ์›น ํ™˜๊ฒฝ์—์„œ ๊ตฌ๋™ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ ๊ตฌ๊ธ€ ์ฝ”๋žฉ (Google Colab) ์ž…๋‹ˆ๋‹ค!

๊ตฌ๊ธ€์ด ์ œ๊ณตํ•˜๋Š” ๋ฌด๋ฃŒ ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ Jupyter ๋…ธํŠธ๋ถ ํ™˜๊ฒฝ์œผ๋กœ, ์›น์„ ํ†ตํ•ด ํŒŒ์ด์ฌ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์‹คํ•ผํ•  ์ˆ˜ ์žˆ์–ด์š”. 

์„ค์น˜๊ฐ€ ๋งค์šฐ ๊ฐ„๋‹จํ•˜๊ณ  ๋น ๋ฅด๊ณ  ํŽธ๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ž…๋ฌธ์ž ๋ถ„๋“ค์€ ํ•ด๋‹น ํ”„๋กœ๊ทธ๋žจ์„ ์ด์šฉํ•˜์…”๋„ ์ข‹์„ ๋“ฏํ•ฉ๋‹ˆ๋‹ค. 

์•„๋ž˜ ์ฝ”๋žฉ์„ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์•Œ๋ ค๋“œ๋ฆด๊ฒŒ์š”. 

 

โœ… ๊ตฌ๊ธ€ ์ฝ”๋žฉ ์„ค์น˜ ๋ฐฉ๋ฒ• 

  1. ๊ตฌ๊ธ€ ๋“œ๋ผ์ด๋ธŒ์— ์ฝ”๋žฉ ์ „์šฉ ํด๋” ์ƒ์„ฑํ•˜๊ธฐ 
    ๊ตฌ๊ธ€์—์„œ ์ œ๊ณตํ•˜๋Š” ํฌ๋กฌ(Chrome) ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๊ณ ,
    ์ฝ”๋žฉ ํŒŒ์ผ์ด ๊ตฌ๊ธ€ ๋“œ๋ผ์ด๋ธŒ์— ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณ„๋„๋กœ ํด๋”๋ฅผ ์ƒ์„ฑํ•ด์„œ ์‚ฌ์šฉํ•ด์ฃผ์‹œ๋Š” ๊ฒƒ์ด ์ข‹์•„์š”. 
    ๋ถˆํ•„์š”ํ•˜๋‹ค๋ฉด ์Šคํ‚ตํ•˜์…”๋„ ๋ฉ๋‹ˆ๋‹ค. 

  2. ๊ตฌ๊ธ€ ๋“œ๋ผ์ด๋ธŒ ํด๋”์—์„œ [ ์šฐํด๋ฆญ → ๋”๋ณด๊ธฐ ํด๋ฆญ ์—ฐ๊ฒฐํ•  ์•ฑ Colaboratory ๊ฒ€์ƒ‰ ๋ฐ ์„ค์น˜ ]  
    ์ €๋Š” ์ด๋ฏธ ์„ค์น˜๊ฐ€ ๋˜์–ด ์žˆ์–ด ๋ฐ”๋กœ ๋œจ๋Š”๋ฐ '์—ฐ๊ฒฐํ•  ์•ฑ ๋”๋ณด๊ธฐ'์—์„œ ๊ฒ€์ƒ‰ํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. 

  3. ์„ค์น˜๊ฐ€ ๋๋‚ฌ๋‹ค๋ฉด, ํด๋”๋กœ ๋Œ์•„์™€ ๋‹ค์‹œ [์šฐํด๋ฆญ  Colaboratory] ๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ์‹œ๋ฉด ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜์‹ค ์ˆ˜ ์žˆ์–ด์š”. 

STEP 1. ์ฝ”๋žฉ ์„ค์น˜ํ•˜๋Ÿฌ ๋“ค์–ด๊ฐ€๋Š” ๊ธธ

 

STEP 2. ์ฝ”๋žฉ ๊ฒ€์ƒ‰ ํ›„ ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜

 

STEP 3. ์ฝ”๋žฉ์„ ์‹คํ–‰ํ•œ ํ™”๋ฉด

 

 

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์ฃผ์ฐจ ๊ฐ•์˜๋ฅผ ํ•™์Šตํ•˜๊ณ  ์ž๋ฐœ์ ์œผ๋กœ ์ž‘์„ฑํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค.