๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
TIL๐Ÿ”ฅ/๋ฉ‹์Ÿ์ด์‚ฌ์ž์ฒ˜๋Ÿผ_AI School 5๊ธฐ

[๋ฉ‹์‚ฌ] AI SCHOOL 5๊ธฐ_ Day 9

by hk713 2022. 3. 22.

๋žŒ๋‹ค ํ•จ์ˆ˜

๋žŒ๋‹ค(lambda) ํ•จ์ˆ˜๋Š” ์ต๋ช… ํ•จ์ˆ˜(Anonumous function)๋กœ ์ด๋ฆ„ ์—†๋Š” ํ•จ์ˆ˜๋‹ค.

1ํšŒ์šฉ์œผ๋กœ ์ž ๊น๋งŒ ์“ฐ๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์ฝ”๋“œ๊ฐ€ ๊ต‰์žฅํžˆ ๊ฐ„๊ฒฐํ•˜๋‹ค!

์ถœ์ฒ˜_ ์ œ๋Œ€๋กœ ํŒŒ์ด์ฌ_ https://wikidocs.net/22804

ํ•˜์ง€๋งŒ ์‚ฌ๋žŒ๋งˆ๋‹ค ์ฝ”๋”ฉ ์Šคํƒ€์ผ์ด ๋‹ค๋ฅด๋‹ค๋ณด๋‹ˆ ๋งŽ์€ ์ฝ”๋“œ๋“ค์„ ๋ณด๋‹ค๋ณด๋ฉด ์•„์ฃผ ๊ธด ๋žŒ๋‹ค ํ•จ์ˆ˜๋ฅผ ๋งˆ์ฃผ์น  ๋•Œ๊ฐ€ ์žˆ๋‹ค๊ณ ํ•œ๋‹ค.

๊ทธ ๋•Œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ๊ฑด " : " ์„ ์ฐพ๋Š” ๊ฒƒ์ด๋‹ค..! ์ฝœ๋ก ์„ ๊ธฐ์ค€์œผ๋กœ ์™ผ์ชฝ์€ ์ธํ’‹, ์˜ค๋ฅธ์ชฝ์€ ์•„์›ƒํ’‹์„ ๋‚˜ํƒ€๋‚ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

๋ชจ๋“ˆ? ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ? ํŒจํ‚ค์ง€?!

ํ—ท๊ฐˆ๋ฆฌ๋Š” ์šฉ์–ด๋“ค์„ ์‰ฝ๊ฒŒ ์ •๋ฆฌํ•ด์ฃผ์…จ๋‹ค. 

๋ชจ๋“ˆ์€ ๊ฐ€์žฅ ์ž‘์€ ๋‹จ์œ„๋กœ python ํŒŒ์ผ ํ•˜๋‚˜๋ฅผ ๋งํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ทธ ํŒŒ์ผ๋“ค์„ ๋ชจ์•„๋†“์€ ํด๋”๋ฅผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋˜๋Š” ํŒจํ‚ค์ง€ ๋ผ๊ณ  ๋งํ•œ๋‹ค. 


๋ฐ์ดํ„ฐ

๋ฐ์ดํ„ฐ์˜ ์ข…๋ฅ˜๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋‹ค. 

  • ์ •ํ˜• ๋ฐ์ดํ„ฐ : ํ–‰๊ณผ ์—ด์ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ (ex. ์—‘์…€)
  • ๋ฐ˜์ •ํ˜• ๋ฐ์ดํ„ฐ : ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ ์ค‘ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ผ์ข…. ๊ตฌ์กฐํ™”๋˜์–ด์žˆ๋Š” ๋ฐ์ดํ„ฐ๋‹ค. (ex. ๋กœ๊ทธ, html)
  • ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ: ์Œ์„ฑ, ์˜์ƒ, ์ด๋ฏธ์ง€, ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ ๋“ฑ

Pandas(ํŒ๋‹ค์Šค)

ํŒ๋‹ค์Šค๋Š” ๋ฐ์ดํ„ฐ ๋ถ„์„์„ ํ• ๋•Œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‹ค.

DataFrame(๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„)๊ณผ Series(์‹œ๋ฆฌ์ฆˆ), 2๊ฐœ์˜ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

# ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„์˜ ์ƒ๋‹จ ๋ถ€๋ถ„์„ ์ถœ๋ ฅํ•œ๋‹ค
df.head() 

# ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„์˜ ํ•˜๋‹จ ๋ถ€๋ถ„์„ ์ถœ๋ ฅํ•œ๋‹ค
df.tail() 

# ๊ฐ ์—ด์˜ ๊ธฐ์ˆ  ํ†ต๊ณ„๋Ÿ‰(Descriptive Statistics)์„ ๋ณด์—ฌ์ค€๋‹ค
df.describe() 

# ์ปฌ๋Ÿผ๋ช…, ๊ฒฐ์ธก์น˜๋ฅผ ์ œ์™ธํ•œ ๋ฐ์ดํ„ฐ ์นด์šดํŠธ, ๋ฐ์ดํ„ฐํƒ€์ž…์„ ๋ณด์—ฌ์ค€๋‹ค
df.info() 

# ์—‘์…€์˜ ํ”ผ๋ฒ— ํ…Œ์ด๋ธ”๊ณผ ๋น„์Šทํ•˜๋‹ค
pd.pivot_table(df, index='ํ–‰ ์œ„์น˜์— ๋“ค์–ด๊ฐˆ ์—ด', aggfunc=np.์ง‘๊ณ„ํ•จ์ˆ˜) 

del df['์—ด ์ด๋ฆ„']    # ์—ด ์‚ญ์ œ
df.drop(['ํ–‰ ์ด๋ฆ„']) # ํ–‰ ์‚ญ์ œ
df.columns # ์—ด ์ด๋ฆ„๋“ค์„ ๋ณด์—ฌ์ค€๋‹ค
df.index   # ํ–‰ ์ด๋ฆ„๋“ค์„ ๋ณด์—ฌ์ค€๋‹ค

# ์—ด ์ด๋ฆ„ ๋ฐ”๊พธ๊ธฐ 
df.rename(columns = {'๊ธฐ์กด ์ปฌ๋Ÿผ๋ช…' : '๋ฐ”๊ฟ€ ์ปฌ๋Ÿผ๋ช…'}, inplace = True) 

# ํŠน์ • ์ปฌ๋Ÿผ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•˜๊ธฐ
df.sort_values(by='์ปฌ๋Ÿผ๋ช…', ascending = False, inplace = True) 

new_df = df.copy() # ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„ ๋ณต์‚ฌ. deep copy.

 

* ์ฐธ๊ณ ) aggfunc == aggregation function(์ง‘๊ณ„ ํ•จ์ˆ˜) : sum, mean, max, min ๋“ฑ

 

** ๊ฒฐ์ธก์น˜(missing data)๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•

- ๋žœ๋คํ•˜๊ฒŒ ์ฑ„์šฐ๊ธฐ (์˜ˆ๋ฅผ๋“ค์–ด ์ตœ๋Œ€/ ์ตœ์†Œ๊ฐ’์„ ์ง€์ •ํ•˜๊ณ  ๊ทธ ์•ˆ์—์„œ random ํ•จ์ˆ˜๋กœ ๊ฐ’์„ ์ •ํ•˜๋Š” ๊ฒฝ์šฐ)

- ์ฃผ๋ณ€ (ํ–‰์˜) ๊ฐ’๋“ค๋กœ ์ฑ„์šฐ๊ธฐ (๋งค์ผ ์˜จ๋„๊ฐ’์„ ์ฒดํฌํ•˜๋Š” ๋ฐ์ดํ„ฐ์ผ ๊ฒฝ์šฐ ์ด ๋ฐฉ๋ฒ•์ด ๋‚˜์˜์ง€ ์•Š๋‹ค)

- ์—ด์˜ ๋Œ€ํ‘ฏ๊ฐ’์„ ๊ณ„์‚ฐํ•ด์„œ ์ฑ„์šฐ๊ธฐ (ํ‰๊ท ์ด๋‚˜ ์ค‘์œ„๊ฐ’ ์‚ฌ์šฉ)

- ์ „์ฒด ํ–‰๋“ค์„ ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ์–ด๋‚ธ ํ›„ ๊ทธ๋ฃน ๋‚ด ํ•ด๋‹น ์—ด์˜ ๋Œ€ํ‘ฏ๊ฐ’์œผ๋กœ ์ฑ„์šฐ๊ธฐ

- ๋‚˜๋จธ์ง€ ์—ด๋“ค๋กœ ๋จธ์‹ ๋Ÿฌ๋‹ ์˜ˆ์ธก๋ชจ๋ธ์„ ๋งŒ๋“  ํ›„ ํ•ด๋‹น ์—ด์˜ ๊ฐ’์„ ์˜ˆ์ธกํ•ด ์ฑ„์šฐ๊ธฐ

- ํ•ด๋‹น ์—ด ์‚ญ์ œ (์ค‘์š”ํ•˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ์ธ ๊ฒฝ์šฐ)

 

 

โš ๏ธ ํ•ด๋‹น ๊ธ€์€ ๋ฉ‹์Ÿ์ด์‚ฌ์ž์ฒ˜๋Ÿผ AI SCHOOL ๊ต์œก ๋‚ด์šฉ์„ ๋ณต์Šตํ•˜๊ธฐ ์œ„ํ•ด ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค

 

๋Œ“๊ธ€