[STARTERS 4๊ธฐ TIL] #17์ผ์ฐจ(23.02.28)


๐Ÿ“š ์˜ค๋Š˜ ๋‚ด๊ฐ€ ๋ฐฐ์šด ๊ฒƒ

NumPy

๐Ÿ“NumPy๋ž€? 

๋ฐฐ์—ด๋กœ ์ €์žฅ๋œ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜์น˜ ์ฒ˜๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

 

 

๐Ÿ“NumPy ๋ฐฐ์—ด ์ƒ์„ฑ

โ‘  ํŒŒ์ด์ฌ ๋ฆฌ์ŠคํŠธ๋กœ ๋งŒ๋“ค๊ธฐ

โ‘ก ๋‚ด์žฅ ๋ฉ”์†Œ๋“œ ์ด์šฉ 4๊ฐ€์ง€

numpy.arange(start, stop, step) ์ง€์ •๋œ ๊ตฌ๊ฐ„ ๋‚ด ๊ท ๋“ฑํ•œ ๊ฐ’ ๋ฐ˜ํ™˜
numpy.zeros/ones(shape)  - shape์€ int ํ˜น์€ tuple 0 ๋˜๋Š” 1๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด ์ƒ์„ฑ
numpy.linspace(start, stop, num) ์ง€์ •๋œ ๊ตฌ๊ฐ„ ๋‚ด ๊ท ๋“ฑํ•œ ๊ฐ„๊ฒฉ์˜ ์ˆ˜ num๊ฐœ ๋ฐ˜ํ™˜
numpy.eye(N, M, k) identity ํ–‰๋ ฌ์€ ํ•ญ์ƒ nxn์˜ ํ–‰๋ ฌ์ด๋ผ๋ฉด,
eye๋Š” ์›ํ•˜๋Š” NxM์˜ ํ–‰๋ ฌ ๋ฐ˜ํ™˜
k ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด์„œ identity matrix๊ฐ€ ์‹œ์ž‘ํ•  ์—ด์„ ์ง€์ •

 

โ‘ข Random

numpy.rand(parameters)  - parameters์€ int ํ˜น์€ tuple 0~1 ์‚ฌ์ด์˜ ๊ท ๋“ฑ ๋ถ„ํฌ๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๊ฐ’ ๋ฐ˜ํ™˜
numpy.randn(parameters) -1~1 ์‚ฌ์ด์˜ ์ •๊ทœ ๋ถ„ํฌ๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๊ฐ’ ๋ฐ˜ํ™˜
numpy.randint(low, high, size) low~high ์‚ฌ์ด์˜ ์ •์ˆ˜ size๊ฐœ ๋ฐ˜ํ™˜
numpy.seed(parameters) ๋‚œ์ˆ˜ ์ƒ์„ฑ ํŒจํ„ด์„ ๋™์ผํ•˜๊ฒŒ ๊ด€๋ฆฌ

 

โ‘ฃ ๋ฐฐ์—ด์˜ ํŠน์„ฑ๊ณผ ๋ฉ”์†Œ๋“œ

numpy๋ฅผ ์ด์šฉํ•˜์—ฌ ์ƒ์„ฑํ•œ ๋ฐฐ์—ด arr๊ณผ ranarr

numpy.reshape(array, newshape)
array.reshape(newshape)
array์˜ ์ฐจ์›์„ newshape์— ๋”ฐ๋ผ ๋ณ€๊ฒฝํ•˜์—ฌ ๋ฐ˜ํ™˜
array.max()
array.min()
array.argmax()
array.argmin()
array์˜ ์ตœ๋Œ€๊ฐ’, ์ตœ์†Œ๊ฐ’, ์ตœ๋Œ€๊ฐ’์˜ ์ธ๋ฑ์Šค, ์ตœ์†Œ๊ฐ’์˜ ์ธ๋ฑ์Šค ๋ฐ˜ํ™˜
array.shape() array์˜ ๋ฐฐ์—ด ๋ชจ์–‘ ๋ฐ˜ํ™˜
array.dtype() ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋ฐ˜ํ™˜

 

 

 

๐Ÿ“NumPy ์ธ๋ฑ์‹ฑ, ์„ ํƒ 

โ‘  ๊ด„ํ˜ธ ์ธ๋ฑ์‹ฑ ๋ฐ ์„ ํƒ

ํŒŒ์ด์ฌ ๋ฆฌ์ŠคํŠธ์™€ ๋™์ผํ•œ ๋ฐฉ์‹

 

โ‘ก Broadcasting

NumPy ๋ฐฐ์—ด์€ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ๊ธฐ๋Šฅ ๋•Œ๋ฌธ์— ์ผ๋ฐ˜ ํŒŒ์ด์ฌ ๋ฆฌ์ŠคํŠธ์™€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋ฆฌ์ŠคํŠธ์˜ ๊ฒฝ์šฐ ํฌ๊ธฐ์™€ ๋ชจ์–‘์ด ๋™์ผํ•œ ์ƒˆ ๋ถ€๋ถ„๋งŒ ๋ชฉ๋ก์— ์žฌํ• ๋‹นํ•  ์ˆ˜ ์žˆ์Œ.

์ฆ‰, ๋ฆฌ์ŠคํŠธ์˜ ์ฒ˜์Œ 5๊ฐœ ์š”์†Œ๋ฅผ ์ƒˆ ๊ฐ’์œผ๋กœ ๋ฐ”๊พธ๋ ค๋ฉด ์ƒˆ 5๊ฐœ ์š”์†Œ ๋ชฉ๋ก์„ ์ „๋‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. NumPy array๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹จ์ผ ๊ฐ’์„ ๋” ํฐ ๊ฐ’ ์ง‘ํ•ฉ์— ๊ฑธ์ณ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Œ

 

โ‘ข 2์ฐจ์› ๋ฐฐ์—ด์˜ ์ธ๋ฑ์‹ฑ

arr_2d[row][col] or arr_2d[row,col]

 

โ‘ฃ ์กฐ๊ฑด์  ์„ ํƒ

 

๐Ÿ“NumPy ์ž‘๋™

โ‘  ์‚ฐ์ˆ  ์—ฐ์‚ฐ

๋‚˜๋ˆ—์…ˆ์˜ ๊ฒฝ์šฐ ๋ถ„๋ชจ๊ฐ€ 0์ผ ๊ฒฝ์šฐ ๊ฒฝ๊ณ ๊ฐ€ ๋œธ! ์—๋Ÿฌ๋Š” ์•„๋‹˜!

 

โ‘ก ๋ฐฐ์—ด ๊ธฐ๋Šฅ

โ‘ฃ ๋ฐฐ์—ด์˜ ์š”์•ฝ ํ†ต๊ณ„

 

โ‘ค ์ถ• ๋…ผ๋ฆฌ

 

 

 

Pandas

๐Ÿ“Series๋ž€? 

NumPy ๋ฐฐ์—ด๊ณผ ์œ ์‚ฌ. ๊ทธ๋Ÿฌ๋‚˜ named index๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ.

 

๐Ÿ“DataFrame 

โ‘  ์ธ๋ฑ์Šค ์ง€์ •

โ‘ก ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„ ์š”์•ฝ ๊ธฐ๋Šฅ

df.describe() ์š”์•ฝ ํ†ต๊ณ„ ์ •๋ณด
df.dtypes() ์ปฌ๋Ÿผ๋ณ„ ๋ฐ์ดํ„ฐ ํƒ€์ž…
df.info() ์ปฌ๋Ÿผ๋ณ„ ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋ฐ ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„ ์ •๋ณด

 

 

๐Ÿ“๊ฒฐ์ธก์น˜ ์ฒ˜๋ฆฌ 

โ‘  ๊ฒฐ์ธก์น˜ ์ œ๊ฑฐ

df.dropna() ๊ฒฐ์ธก์น˜๊ฐ€ ์žˆ๋Š” ๋ชจ๋“  ํ–‰ ์ œ๊ฑฐ
df.dropna(axis=1) ๊ฒฐ์ธก์น˜๊ฐ€ ์žˆ๋Š” ๋ชจ๋“  ์—ด ์ œ๊ฑฐ
df.dropna(thresh=n) value๊ฐ€ n๊ฐœ ๋ฏธ๋งŒ์ธ ํ–‰ ์ œ๊ฑฐ

โ‘ก ๊ฒฐ์ธก์น˜ ์ฑ„์šฐ๊ธฐ

 

 

๐Ÿ“Groupby ํ•จ์ˆ˜ 

โ‘  ๋ฐ์ดํ„ฐ ๋ถ„๋ฆฌ·๊ทธ๋ฃนํ™” → โ‘ก ๋ถ„๋ฆฌ๋œ ๊ทธ๋ฃน์— ํ•จ์ˆ˜ ์ ์šฉ → โ‘ข ๋ฐ์ดํ„ฐ ํ†ตํ•ฉํ•˜์—ฌ ๋‹จ์ผ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„ ๊ฐ€์ ธ์˜ค๊ธฐ

 

๐Ÿ“๋™์ž‘ 

โ‘  Unique Values ์ •๋ณด

df['col2'].unique() ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„ ๋‚ด ์œ ์ผํ•œ ๊ฐ’ ๋ฐ˜ํ™˜
df['col2'].nunique() ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„ ๋‚ด ์œ ์ผํ•œ ๊ฐ’์˜ ๊ฐœ์ˆ˜ ๋ฐ˜ํ™˜
df['col2'].value_counts() ์ง€์ •๋œ ์—ด์˜ ๊ฐ ๊ฐ’์— ๋Œ€ํ•œ ๋ชจ๋“  ๋ฐœ์ƒ ํšŸ์ˆ˜ ๋ฐ˜ํ™˜

โ‘ก ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„ ์ •๋ ฌ

df.sort_values(by=column) column์„ ๊ธฐ์ค€์œผ๋กœ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„ ์ •๋ ฌ

 

 

 

Pandas ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”

๐Ÿ“๊ทธ๋ž˜ํ”„ ์ข…๋ฅ˜ 

 

๐Ÿ“์‚ฌ์šฉ์ž ์ •์˜ 

โ‘  ์„  ์ข…๋ฅ˜, ์ƒ‰์ƒ, ๋„ˆ๋น„

โ‘ก ์ œ๋ชฉ ๋ฐ ์ถ• ๋ผ๋ฒจ

โ‘ข ๋ฒ”๋ก€ ์œ„์น˜

 


๐Ÿ’ญ ์˜ค๋Š˜ ๊ธฐ์–ตํ•ด์•ผ ํ•  ๋‚ด์šฉ

Numpy ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•ด ์ œ๋Œ€๋กœ ํ•™์Šตํ•œ ๊ฑด ์˜ค๋Š˜์ด ์ฒ˜์Œ์ด๋‹ค.

์˜ค๋Š˜ ๋ฐฐ์šด Numpy ๋‚ด์žฅ ๋ฉ”์†Œ๋“œ์— ๋Œ€ํ•ด ์ž˜ ๊ธฐ์–ตํ•ด๋‘์–ด์•ผ๊ฒ ๋‹ค.

์˜ˆ์ œ๋ฅผ ํ’€์–ด๋ณด๋‹ˆ ๋‚œ์ˆ˜ ์ƒ์„ฑ์—์„œ ํ‹€๋ฆฌ๋Š” ๋ถ€๋ถ„์ด ๋งŽ์•˜๋‹ค. ์—ฌ๋Ÿฌ ์ƒํ™ฉ์—์„œ ๋‚œ์ˆ˜ ์ƒ์„ฑ์„ ์‘์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๊ด€ํ•ด ์—ฐ์Šตํ•ด๋ด์•ผ๊ฒ ๋‹ค.

 

โœ๐Ÿป ํšŒ๊ณ 

์˜ค๋Š˜์€ ํŒ๋‹ค์Šค ์‹œ๊ณ„์—ด ๋ถ„์„์˜ ์ดˆ๋ฐ˜ ๋ถ€๋ถ„์„ ํ•™์Šตํ–ˆ๋‹ค.

์ด์ „์— ๋ฐฐ์šด ๋‚ด์šฉ์ด ๋‹ค์‹œ ๋‚˜์˜ค๊ธฐ๋„ ํ•˜์˜€๊ณ , Numpy ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž์ฒด๊ฐ€ ์–ด๋ ต์ง€๋Š” ์•Š์•„์„œ ์ˆ˜์›”ํ•˜๊ฒŒ ๊ณต๋ถ€ํ–ˆ๋‹ค.

๋‚ด์ผ ๋ฐฐ์šธ ์‹œ๊ณ„์—ด ๋ถ„์„์€ ์–ด๋–ค ๋‚ด์šฉ์ผ์ง€ ๊ถ๊ธˆํ•˜๋‹ค. ์‹œ๊ณ„์—ด ๋ถ„์„์˜ ํ›„๋ฐ˜๋ถ€๋Š” ์ •๋ง ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ๋‚ด์šฉ์ด๋ผ ์‰ฝ์ง€ ์•Š์„ ๊ฒƒ ๊ฐ™๋‹ค..๐Ÿ˜ข