๐ ์ค๋ ๋ด๊ฐ ๋ฐฐ์ด ๊ฒ
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.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 ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ฒด๊ฐ ์ด๋ ต์ง๋ ์์์ ์์ํ๊ฒ ๊ณต๋ถํ๋ค.
๋ด์ผ ๋ฐฐ์ธ ์๊ณ์ด ๋ถ์์ ์ด๋ค ๋ด์ฉ์ผ์ง ๊ถ๊ธํ๋ค. ์๊ณ์ด ๋ถ์์ ํ๋ฐ๋ถ๋ ์ ๋ง ์ฒ์ ์ ํ๋ ๋ด์ฉ์ด๋ผ ์ฝ์ง ์์ ๊ฒ ๊ฐ๋ค..๐ข
'STARTERS 4๊ธฐ > [STARTERS] TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[STARTERS 4๊ธฐ TIL] #20์ผ์ฐจ(23.03.06) (0) | 2023.03.07 |
---|---|
[STARTERS 4๊ธฐ TIL] #19์ผ์ฐจ(23.03.03) (0) | 2023.03.03 |
[STARTERS 4๊ธฐ TIL] #16์ผ์ฐจ(23.02.27) (0) | 2023.02.27 |
[STARTERS 4๊ธฐ TIL] #15์ผ์ฐจ(23.02.24) (0) | 2023.02.27 |
[STARTERS 4๊ธฐ TIL] #14์ผ์ฐจ(23.02.23) (0) | 2023.02.27 |