๋ฐ์ํ
Python์์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ๋ ํ์์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ํ๋๊ฐ Numpy์ด๋ค.
๋๊ท๋ชจ ๋ฐฐ์ด ๋ฐ ํ๋ ฌ ์ฐ์ฐ์ ๋น ๋ฅด๊ฒ ์ํํ ์ ์๋๋ก ์ค๊ณ๋์์ผ๋ฉฐ, ๊ณผํ ์ฐ์ฐ, ๋จธ์ ๋ฌ๋, ๋ฐ์ดํฐ ๋ถ์ ๋ฑ์ ํญ๋๊ฒ ์ฌ์ฉ๋๋ค.
1. Numpy๋?
- Numpy(NumPy, Numerical Python)๋ ๋ค์ฐจ์ ๋ฐฐ์ด ๊ฐ์ฒด(ndarray)๋ฅผ ์ง์ํ๋ฉฐ, ์ด๋ฅผ ํจ์จ์ ์ผ๋ก ์ฐ์ฐํ ์ ์๋ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํจ
- Python์ ๊ธฐ๋ณธ ๋ฆฌ์คํธ(list)๋ณด๋ค ๋น ๋ฅด๊ณ , ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํจ
Numpy์ ํน์ง
- ๊ณ ์ ์ฐ์ฐ: C ์ธ์ด๋ก ๊ตฌํ๋์ด ์์ด ๋ฆฌ์คํธ๋ณด๋ค ๋น ๋ฆ
- ๋ค์ฐจ์ ๋ฐฐ์ด ์ง์: ๋ฒกํฐ, ํ๋ ฌ ์ฐ์ฐ์ ์ฝ๊ฒ ์ํ ๊ฐ๋ฅ
- ๋ฐฉ๋ํ ์ํ ๋ฐ ์ ํ๋์ ์ฐ์ฐ ๊ธฐ๋ฅ: ๋ค์ํ ํจ์ ์ ๊ณต
- ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ํธํ์ฑ: Pandas, SciPy, TensorFlow ๋ฑ๊ณผ ํจ๊ป ์ฌ์ฉ๋จ
2. Numpy ์ค์น ๋ฐ ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
Numpy๋ pip์ ์ด์ฉํ์ฌ ๊ฐ๋จํ ์ค์น ๊ฐ๋ฅํจ
# conda config --env --add channels conda-forge
# conda install numpy
pip install numpy
์ค์น ํ Numpy๋ฅผ importํ์ฌ ์ฌ์ฉํ ์ ์์
import numpy as np
728x90
๋ฐ์ํ
3. Numpy ๋ฐฐ์ด ์์ฑ
3.1 ๊ธฐ๋ณธ ๋ฐฐ์ด ์์ฑ
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr)
print(type(arr))
# <class 'numpy.ndarray'>
3.2 ๋ค์ฐจ์ ๋ฐฐ์ด ์์ฑ
arr2d = np.array([[1, 2, 3], [4, 5, 6]])
print(arr2d)
# [[1 2 3]
# [4 5 6]]
3.3 ๋ฐฐ์ด์ ํฌ๊ธฐ ํ์ธ
print(arr.shape) # (5,)
print(arr2d.shape) # (2, 3)
4. Numpy ์ฃผ์ ๊ธฐ๋ฅ
4.1 ๊ธฐ๋ณธ ์ฐ์ฐ
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
print(arr1 + arr2) # [5 7 9]
print(arr1 * arr2) # [4 10 18]
print(arr1 - arr2) # [-3 -3 -3]
4.2 ํต๊ณ ํจ์
arr = np.array([1, 2, 3, 4, 5])
print(np.mean(arr)) # ํ๊ท : 3.0
print(np.median(arr)) # ์ค์๊ฐ: 3.0
print(np.std(arr)) # ํ์คํธ์ฐจ: 1.414...
4.3 ๋ฐฐ์ด ๋ณํ
arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr.reshape(3, 2)) # (2,3) ๋ฐฐ์ด์ (3,2)๋ก ๋ณ๊ฒฝ
# [[1 2]
# [3 4]
# [5 6]]
4.4 ๋ฐฐ์ด ์ฌ๋ผ์ด์ฑ
arr = np.array([10, 20, 30, 40, 50])
print(arr[1:4]) # [20 30 40]
4.5 ๋ง์คํน ์ฐ์ฐ
arr = np.array([10, 20, 30, 40, 50])
print(arr[arr > 25]) # [30 40 50]
5. ํ์ฉ ์์
5.1 ํ๋ ฌ ๊ณฑ์
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
print(np.dot(A, B))
# [[19 22]
# [43 50]]
5.2 ๋์ ์์ฑ
np.random.seed(0) # ๋์ ๊ณ ์
random_arr = np.random.rand(3, 3) # 3x3 ๋์ ๋ฐฐ์ด ์์ฑ
print(random_arr)
# [[0.5488135 0.71518937 0.60276338]
# [0.54488318 0.4236548 0.64589411]
# [0.43758721 0.891773 0.96366276]]
๋ฐ์ํ
'๊ฐ๋ฐ Code > ํ์ด์ฌ Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python][numpy] Numpy๋ก ํจ์จ์ ์ธ ๋ฐ์ดํฐ ์ํ๋ง ๋ฐ ๋์ ์์ฑ (0) | 2025.02.09 |
---|---|
[Python][numpy] Numpy ๋ฐฐ์ด ์ ์ฅ ๋ฐ ๋ถ๋ฌ์ค๊ธฐ (0) | 2025.02.09 |
[Python][pandas] ๋ฐ์ดํฐ ์ ๋ ฌํ๊ธฐ - Sort (0) | 2025.01.30 |
[Python][pandas] ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ - Excel (1) | 2025.01.22 |
[Python][pandas] ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ - CSV (0) | 2025.01.22 |