NumPy
NumPy(Numerical Python)๋ ๊ฑฐ์ ๋ชจ๋ ๊ณผํ ๋ฐ ๊ณตํ ๋ถ์ผ์์ ์ฌ์ฉ๋๋ ์คํ ์์ค ํ์ด์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค.
NumPy ๋ผ์ด๋ธ๋ฌ๋ฆฌ์๋ ๋ค์ฐจ์ ๋ฐฐ์ด ๋ฐ ํ๋ ฌ ๋ฐ์ดํฐ ๊ตฌ์กฐ๊ฐ ํฌํจ๋์ด ์๋ค.
import numpy as np # ๋ณดํต ์ด๋ ๊ฒ np ๋ก ์ค์ฌ ์ฌ์ฉํ๋ค
# ๋ฐฐ์ด(Array) ๋ง๋ค๊ธฐ
v1 = np.array([ 1, 2, 3, 4, 5 ])
# array ๋ด๋ถ ์์ดํ
์ ๋ฐ์ดํฐ ํ์
์ ์๊ณ ์ถ๋ค๋ฉด?!
v1.dtype
numpy array์๋ ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ ํ์ ์ด ๋ค์ด๊ฐ ์ ์๋ค!! (๋ฆฌ์คํธ์ ๋ค๋ฅธ ์ )
# ํ๋ ฌ ๋ง๋ค๊ธฐ
matrix = np.array ([ [1, 2, 3], [4, 5, 6], [7, 8, 9] ])
# ๋ชจ์ ํ์ธ
matrix.shape
# 2์ด ์ ์ฒด - [ํ, ์ด]
matrix[ : , 1] # ๊ฒฐ๊ณผ - array([2, 5, 8])
# 3ํ ์ ์ฒด
matrix[2] # ๊ฒฐ๊ณผ - array([7, 8, 9])
arange ( 'a'rray of 'range' ) ๋ ํด๋น ๋ฒ์๋ก array๋ฅผ ๋ง๋ค์ด์ค๋ค.
# arange๋ range์ฒ๋ผ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค
v2 = np.arange(1, 10, 3)
v2 # ๊ฒฐ๊ณผ - array([1, 4, 7])
# arange๋ ์ผ๊ด์ ์ธ ์ฐ์ฐ์ด ๊ฐ๋ฅํ๋ค
v3 = np.arange(1, 10, 3) ** 2
v3 # ๊ฒฐ๊ณผ - array([1, 16, 49])
# reshape - ๋ชจ์์ ๋ฐ๊ฟ์ค๋ค
v = np.arange(12)
# 2ํ 6์ด๋ก ๋ฐ๊ฟ
v4 = v.reshape(2, 6)
# ํ์ 3๊ฐ๋ก ๋ง์ถ๊ณ ๋๋จธ์ง๋ ์์์ ํ๋๋ก ํจ
v5 = v.reshape(3,-1)
# ์ด๋ถํฐ ์ฑ์ฐ๋๋ก ํจ
v6 = v.reshape(2, 6, order="F")
Method chaining(๋ฉ์๋ ์ฒด์ด๋)์ ๋ฉ์๋๊ฐ ๊ฐ์ฒด๋ฅผ ๋ฐํํ๊ฒ ๋๋ฉด, ๋ฉ์๋์ ๋ฐํ๊ฐ์ธ ๊ฐ์ฒด๋ฅผ ํตํด ๋ ๋ค๋ฅธ ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ํ๋ก๊ทธ๋๋ฐ ํจํด์ ๋งํ๋ค. arange์์๋ ๋ฉ์๋ ์ฒด์ด๋์ ์ ์ฉํ ์ ์๋ค.
np.arange(12).reshape(2,6).reshape(4,-1)
numpy์๋ ์ฌ์น์ฐ์ฐ์ด ์ ์ฉ๋๋ค
v1 = np.arange(1,5).reshape(2,2)
# ์ต๋๊ฐ
np.max(v1) # 4
# ์ต์๊ฐ
np.min(v1) # 1
# ํ๊ท ๊ฐ
np.mean(v1) # 2.5
# ํ์คํธ์ฐจ
np.std(v1) # 1.118033999749895
# ๋ํ๊ธฐ
np.add(v1, v1)
# ๋นผ๊ธฐ
np.subtract(v1, v1)
# ๊ณฑํ๊ธฐ
np.multiply(v1, v1)
# ํ๋ ฌ๊ณฑ (dot-product)
np.dot(v1, v1)
Pandas
Pandas(ํ๋ค์ค)๋ ํ์ด์ฌ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค.
๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํด Series(์๋ฆฌ์ฆ) ํด๋์ค์ DataFrame(๋ฐ์ดํฐํ๋ ์) ํด๋์ค๋ฅผ ์ ๊ณตํ๋ค.
Series(์๋ฆฌ์ฆ) ํด๋์ค๋ ๋ํ์ด์์ ์ ๊ณตํ๋ 1์ฐจ์ ๋ฐฐ์ด๊ณผ ๋น์ทํ์ง๋ง ๊ฐ ๋ฐ์ดํฐ์ ์๋ฏธ๋ฅผ ํ์ํ๋ ์ธ๋ฑ์ค๋ฅผ ๋ถ์ผ ์ ์๋ค.
๋ฐ์ดํฐ ์์ฒด๋ ๊ฐ(value)๋ผ๊ณ ํ๋ค. ์ฆ, ์๋ฆฌ์ฆ = ๊ฐ + ์ธ๋ฑ์ค ๋ค.
import pandas as pd # ๋ณดํต pd๋ก ์ค์ฌ์ ์ด๋ค
a = pd.Series([1,3,5,7])
a.values # ๊ฒฐ๊ณผ - array([1,3,5,7])
a.index # ๊ฒฐ๊ณผ - RangeIndex(start=0, stop=4, step=1)
DataFrame์์ ํ๋์ cell ๊ฐ์ ์ป์ด๋ด๋ 4๊ฐ์ง ๋ฐฉ๋ฒ
1๏ธโฃ df['์ปฌ๋ผ๋ช '][index]
2๏ธโฃ df.loc[index]['์ปฌ๋ผ๋ช ']
3๏ธโฃ df.at[index, '์ปฌ๋ผ๋ช '] - ๊ฐ์ฅ ๊ถ์ฅํ๋ ๋ฐฉ๋ฒ
4๏ธโฃ df.iloc[(index number ๊ธฐ์ค)ํ, ์ด]
**
Pandas ์์๋ ํญ๋ชฉ๋ณ ๊ฐฏ์๋ฅผ ์ธ๊ณ ๋์ matplotlib ์์ด ๋ฐ๋ก ์๊ฐํ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋ค.
'TIL๐ฅ > ๋ฉ์์ด์ฌ์์ฒ๋ผ_AI School 5๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฉ์ฌ] AI SCHOOL 5๊ธฐ_ Day 18 (0) | 2022.03.31 |
---|---|
[๋ฉ์ฌ] AI SCHOOL 5๊ธฐ_ Day 17 (0) | 2022.03.30 |
[๋ฉ์ฌ] AI SCHOOL 5๊ธฐ_ Day 15 (0) | 2022.03.28 |
[๋ฉ์ฌ] AI SCHOOL 5๊ธฐ_ Day 12 (0) | 2022.03.25 |
[๋ฉ์ฌ] AI SCHOOL 5๊ธฐ_ Day 11 (0) | 2022.03.24 |
๋๊ธ