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

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

by hk713 2022. 3. 23.

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

 

์ธ๋ฑ์Šค ์„ค์ •

๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์˜ column(์—ด)์„ index๋กœ ๊ฐ€์ ธ์˜ค๊ณ  ์‹ถ์„ ๋•,

df.set_index('์—ด ์ด๋ฆ„', inplace=Ture) ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

์„ค์ •ํ–ˆ๋˜ ์ธ๋ฑ์Šค๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š”

df.reset_index(inplace=True)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ๋งŒ์•ฝ ์ธ๋ฑ์Šค๋กœ ์„ค์ •ํ•˜๋ ค๋Š” ์—ด ๊ฐ’์˜ ์ค‘๋ณต์ด ์žˆ๋‹ค๋ฉด pivot_table์„ ์ถ”์ฒœํ•œ๋‹ค.

pd.pivot_table(๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„, index='์—ด ์ด๋ฆ„', aggfunc=np.sum) 

 

๊ฒฐ์ธก์น˜(N/A) ๊ฐ’ ์ฑ„์šฐ๊ธฐ

NaN(์ˆซ์ž๊ฐ€ ์•„๋‹˜) ํƒ€์ž…์˜ ๊ฒฐ์ธก์น˜๋ฅผ ํŠน์ • ๊ฐ’์œผ๋กœ ์ฑ„์šฐ๊ณ  ์‹ถ์„ ๋•Œ๋Š”

df.fillna('์›ํ•˜๋Š” ๊ฐ’')๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

์กฐ๊ฑด ๊ฒ€์ƒ‰

df[ (df['์—ด ์ด๋ฆ„1'] < 5 ) & ( df['์—ด ์ด๋ฆ„2'] > 100) ] 

๋‘๊ฐœ ์ด์ƒ์˜ ์กฐ๊ฑด์„ ๊ฑธ์–ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์กฐ๊ฑด๋งˆ๋‹ค ์†Œ๊ด„ํ˜ธ๋กœ ๋ฌถ๊ณ ,

๋น„ํŠธ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

  • & : and
  • | : or
  • ~ : not

๋‘๊ฐœ์˜ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์„ ํ•ฉ์น˜๋Š” ๋ฐฉ๋ฒ•

A, B ๋‘ ๊ฐœ์˜ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์ด ์žˆ๋‹ค๊ณ  ํ• ๋•Œ, ์ด๋ฅผ merge ํ•˜๋Š” 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

 

1๏ธโƒฃ A.join(B) 

๊ฐ€์žฅ ๊ถŒ์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‚˜ ์ „์ œ์กฐ๊ฑด์ด ์žˆ๋‹ค. 

A์™€ B ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์˜ index ์—ด์ด ๋™์ผํ•ด์•ผ ํ•œ๋‹ค.

 

2๏ธโƒฃ pd.merge( A, B, left_on="A ์—ด ์ด๋ฆ„", right_on="B ์—ด ์ด๋ฆ„", how='์กฐ์ธ ๋ฐฉ์‹') 

๊ธฐ์ค€์ด ๋˜๋Š” ์—ด๋“ค์„ ์ง์ ‘ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

์กฐ์ธ ๋ฐฉ์‹์—๋Š” inner, outer, left, right ๊ฐ€ ์žˆ์œผ๋ฉฐ ๋””ํดํŠธ๋Š” inner๋‹ค.

์ถœ์ฒ˜_&nbsp;https://www.w3schools.com/sql/sql_join.asp

 

3๏ธโƒฃ pd.concat([ A, B ])

concat์€ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์„ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ๋‹ค๊ฐ€ ๋ถ™์—ฌ๋†“๋Š” ํ˜•์‹์ด๋‹ค.

์ด๋•Œ axis๋ฅผ ์˜ต์…˜์œผ๋กœ ๋‘˜ ์ˆ˜ ์žˆ๊ณ , ํ–‰ ๋ฐฉํ–ฅ(์œ„์•„๋ž˜, axis=0)์ด ๋””ํดํŠธ๋‹ค. 

 

Feature Scaling (Feature Nomalization)

ํ”ผ์ฒ˜ ์Šค์ผ€์ผ๋ง(ํ”ผ์ฒ˜ ์ •๊ทœํ™”)์€ ๊ฐ ์—ด๋งˆ๋‹ค ์ž๋ฆฟ์ˆ˜๋ฅผ ๋น„์Šทํ•˜๊ฒŒ ๋งž์ถฐ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

์—ฌ๊ธฐ์—๋Š” ์—ฌ๋Ÿฌ ๋ฐฉ์‹์ด ์žˆ๋‹ค.

 

โœ… Min-Max algorithm

์ถœ์ฒ˜_&nbsp;https://en.wikipedia.org/wiki/Feature_scaling

์ด ๋ฐฉ๋ฒ•์€ ๊ฐ๊ฐ์˜ ์—ด์˜ ์ตœ์†Ÿ๊ฐ’์„ 0, ์ตœ๋Œ“๊ฐ’์ด 1์ด ๋˜๋„๋ก ๊ฐ’๋“ค์„ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

๋งŽ์€ ๊ฒฝ์šฐ ์ด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค. 

 

โœ… Standardization

์ถœ์ฒ˜_&nbsp;https://en.wikipedia.org/wiki/Feature_scaling

์ด ๋ฐฉ๋ฒ•์€ ๊ฐ๊ฐ์˜ ์—ด์˜ ํ‰๊ท ๊ฐ’์„ 0, ํ‘œ์ค€ํŽธ์ฐจ๊ฐ’์ด 1์ด ๋˜๋„๋ก ๊ฐ’๋“ค์„ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

Min-Max algorithm๋ณด๋‹ค ์„ฑ๋Šฅ์ด ๋” ์ข‹์„ ๋•Œ๊ฐ€ ๋งŽ๋‹ค.


Seaborn (sns)

sns.heatmap

๐Ÿ’ก ํ•œ๊ธ€์ด ๊นจ์งˆ ๋•Œ (Mac os ๊ธฐ์ค€)

%matplotlib inline 
rc('font', family="AppleGothic")

ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ํ•ด๊ฒฐ๋œ๋‹ค.

 

โœ… ์˜ต์…˜

annot : ์…€ ๋‚ด์— ์ˆ˜์น˜๋ฅผ ์ž…๋ ฅํ• ์ง€ ๊ฒฐ์ •ํ•œ๋‹ค (True / False)

fmt : ์…€ ๋‚ด ์ž…๋ ฅ๋  ์ˆ˜์น˜์˜ format์„ ๊ฒฐ์ •ํ•œ๋‹ค ( f == float, d == int)

linewidths : ์…€ ๊ฐ„ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค(๋‚ด๋ถ€ ํ…Œ๋‘๋ฆฌ)

cmap : matplotlib colormap ์„ ์˜๋ฏธํ•˜๋ฉฐ ๊ทธ๋ž˜ํ”„ ์ƒ‰์„ ๊ฒฐ์ •ํ•œ๋‹ค.

 

 

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

๋Œ“๊ธ€