π Π‘Π°ΠΌΠΎΡΡΠΈΡΠ΅Π»Ρ ΠΏΠΎ Python Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ . Π§Π°ΡΡΡ 24: ΠΡΠ½ΠΎΠ²Ρ ΡΠ°Π±ΠΎΡΡ Ρ NumPy
ΠΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΈ Π½Π°ΡΡΠΈΠΌ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΡΡΡΠ΅ ΡΠΈΠ»ΡΡΡΡ Π΄Π»Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. Π ΠΊΠΎΠ½ΡΠ΅ ΡΡΠ°ΡΡΠΈ β 10 ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΡ ΠΈ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π°Π΄Π°Ρ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ.
NumPy β ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΡ ΠΈ Π½Π°ΡΡΠ½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π² Python: ΠΎΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΠΈ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ ΠΈ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² Π΄Π°Π½Π½ΡΡ . ΠΠΎΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ NumPy ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ β Pandas, SciPy, Matplotlib, Scikit-learn ΠΈ TensorFlow.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ
NumPy ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ Π½ΡΠΆΠ½Π° Π±ΡΡΡΡΠ°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π±ΠΎΠ»ΡΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π΄Π°Π½Π½ΡΡ :
- ΠΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΠ΅ ΠΈ Π½Π°ΡΡΠ½ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠΈΠ·ΠΈΠΊΠΈ, ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ, Π±ΠΈΠΎΠ»ΠΎΠ³ΠΈΠΈ, Ρ ΠΈΠΌΠΈΠΈ ΠΈ Ρ.Π΄.
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π·Π²ΡΠΊΠ° β ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠ»ΡΡΡΠΎΠ², ΡΠΆΠ°ΡΠΈΠ΅ ΠΈ Ρ.ΠΏ.
- ΠΠ°ΡΠΈΠ½Π½ΠΎΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅, ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡ ΠΈ Data Science β ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½ΡΡ .
- ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠ΅ Π·ΡΠ΅Π½ΠΈΠ΅ β ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΠΈ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
- Π€ΠΈΠ½Π°Π½ΡΠΎΠ²ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ β ΡΠ°ΡΡΠ΅Ρ Π΄ΠΎΡ ΠΎΠ΄Π½ΠΎΡΡΠΈ Π°ΠΊΡΠΈΠ²ΠΎΠ² ΠΈ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΈΠΉ, ΡΠΈΡΠΊ-ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ, ΠΎΡΠ΅Π½ΠΊΠ° Π΄ΠΈΡΠΊΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ ΠΈ Ρ.Π΄.
- ΠΠ΅ΠΎΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈ Π³Π΅ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ β ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π³Π΅ΠΎΠ΄Π°Π½Π½ΡΡ ΠΈ Π°Π½Π°Π»ΠΈΠ· Π³ΡΠ°ΡΠΈΠΊΠΎΠ².
ΠΠ°ΡΡΠΈΠ² ndarray
NumPy ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈΠ· ΡΠΏΠΈΡΠΊΠΎΠ², ΠΊΠΎΡΡΠ΅ΠΆΠ΅ΠΉ ΠΈ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Π»Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ β ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΠΈ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ. ΠΡΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ (ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ, ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΌΡ, Π²ΡΠ΅ Π²ΠΈΠ΄Ρ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°, Π»ΡΠ±ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈ Ρ.ΠΏ.), NumPy Π΄Π΅Π»Π°Π΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ.
ΠΠ°ΡΡΠΈΠ²Ρ NumPy ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ Python: ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΊΡΠΈΡΠΈΡΠ½Π° ΡΠΊΠΎΡΠΎΡΡΡ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π½Π° C/C++. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, NumPy ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ndarray (n-ΡΠ°Π·ΠΌΠ΅ΡΠ½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ). Π‘ΡΠ°Π²Π½ΠΈΠΌ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ Python ΠΊΠΎΠ΄Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° NumPy Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π²ΡΡ ΠΌΠ°ΡΡΠΈΡ 1000 Ρ 1000:
import numpy as np
import time
# ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ Π΄Π²Π΅ ΠΌΠ°ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 1000x1000 ΡΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌΠΈ ΡΠ΅Π»ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΎΡ 0 Π΄ΠΎ 9
A = np.random.randint(0, 10, size=(1000, 1000))
B = np.random.randint(0, 10, size=(1000, 1000))
# Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Python
start_time = time.time()
C = [[A[i][j] + B[i][j] for j in range(len(A[0]))] for i in range(len(A))]
end_time = time.time()
# Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ NumPy
start_time_np = time.time()
D = A + B
end_time_np = time.time()
# ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
print(f"ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Python ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: {end_time - start_time} ΡΠ΅ΠΊ")
print(f"ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ NumPy ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: {end_time_np - start_time_np} ΡΠ΅ΠΊ")
# Π‘ΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ
print("Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ:", np.array_equal(C, D))
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Python ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: 1.432081937789917 ΡΠ΅ΠΊ ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ NumPy ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: 0.004000186920166016 ΡΠ΅ΠΊ Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ: True
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ndarray:
- ΠΠ΄Π½ΠΎΡΠΎΠ΄Π½ΠΎΡΡΡ. ΠΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ . ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ndarray Π±ΡΡΡΡΡΠΌΠΈ ΠΈ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ½ΡΠΌΠΈ.
- ΠΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΠΎΡΡΡ. ΠΠ°ΡΡΠΈΠ²Ρ NumPy ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ β ΡΠ°Π±Π»ΠΈΡΡ, ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ β ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠ΅ΡΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ β Π²ΠΈΠ΄Π΅ΠΎ.
- Π€ΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ. Π Π°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅Π»ΡΠ·Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ. ΠΡΠ»ΠΈ Π½ΡΠΆΠ΅Π½ ΠΌΠ°ΡΡΠΈΠ² Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ.
- ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ. ΠΠ°ΡΡΠΈΠ²Ρ NumPy ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π°Π΄ Π²ΡΠ΅ΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ, ΡΠ΅ΠΌ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ Python.
- Π£Π΄ΠΎΠ±Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ. NumPy ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΠΈΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄Π»Ρ Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ Π½Π°Π΄ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ β ΠΎΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ Π΄ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡΠΌΡ.
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² Π² NumPy
NumPy ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², Π²ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅:
import numpy as np # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° a = np.array([1, 2, 3, 4, 5]) print(a) # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΡΠΏΠΈΡΠΊΠΎΠ² b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) print(b) # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ c = np.arange(0, 10, 2) # Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΎΡ 0 Π΄ΠΎ 10 Ρ ΡΠ°Π³ΠΎΠΌ 2 print(c) # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ· ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ d = np.linspace(0, 1, 5) # Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· 5 ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΎΡ 0 Π΄ΠΎ 1 print(d) # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ· ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ e = np.random.rand(3, 3) # Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· 3x3 ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ print(e) # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ· Π½ΡΠ»Π΅ΠΉ f = np.zeros((2, 3)) # Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· Π½ΡΠ»Π΅ΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 2x3 print(f) # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ· Π΅Π΄ΠΈΠ½ΠΈΡ g = np.ones((3, 3)) # Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· Π΅Π΄ΠΈΠ½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 3x3 print(g)
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
[1 2 3 4 5] [[1 2 3] [4 5 6] [7 8 9]] [0 2 4 6 8] [0. 0.25 0.5 0.75 1. ] [[0.66777626 0.88439902 0.22572609] [0.09556062 0.40293789 0.58901436] [0.33380993 0.20922535 0.42657995]] [[0. 0. 0.] [0. 0. 0.]] [[1. 1. 1.] [1. 1. 1.] [1. 1. 1.]]
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ
ΠΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΠΌ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°:
import numpy as np # Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² arr = np.array([[1, 2], [3, 4], [5, 6]]) # ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΌΠ°ΡΡΠΈΠ² Π½Π° ΡΠΊΡΠ°Π½ print(arr) # ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° print(arr.shape) # ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° print(arr[0, 1]) # ΠΡΠ²Π΅Π΄Π΅Ρ 2 print(arr[2, 0]) # ΠΡΠ²Π΅Π΄Π΅Ρ 5 # ΠΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° arr[0, 1] = 7 arr[1, 1] = 8 arr[2, 1] = 9 print(arr) # ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΡΡΠΎΠΊΡ print(arr[1]) # ΠΡΠ²Π΅Π΄Π΅Ρ [3 8] # ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΡΠΎΠ»Π±Π΅Ρ print(arr[:, 0]) # ΠΡΠ²Π΅Π΄Π΅Ρ [1 3 5] # ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΡΠ΅Π· print(arr[:2, 1]) # ΠΡΠ²Π΅Π΄Π΅Ρ [7 8]
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
[[1 2] [3 4] [5 6]] (3, 2) 2 5 [[1 7] [3 8] [5 9]] [3 8] [1 3 5] [7 8]
ΠΠ΅ΡΠΎΠ΄Ρ NumPy ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π»Π΅Π³ΠΊΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ Π»ΡΠ±ΡΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Π½Π°Π΄ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π½ΠΈΡ :
import numpy as np
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π΄Π²Π° ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 6x6 ΡΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌΠΈ ΡΠ΅Π»ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΎΡ 0 Π΄ΠΎ 9
a = np.random.randint(1, 10, size=(6, 6))
b = np.random.randint(1, 10, size=(6, 6))
# ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΌΠ°ΡΡΠΈΠ²Ρ Π½Π° ΡΠΊΡΠ°Π½
print("ΠΠ°ΡΡΠΈΠ² a:\n", a)
print("ΠΠ°ΡΡΠΈΠ² b:\n", b)
# ΠΡΡΠΈΡΠ°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Ρ
d = a - b
print("Π Π°Π·Π½ΠΎΡΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² a ΠΈ b:\n", d)
# Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²
m = np.dot(a, b)
print("ΠΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² a ΠΈ b:\n", m)
# ΠΠ΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² (ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ)
# ΠΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ b
b_inv = np.linalg.inv(b)
# Π£ΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΡΡ a Π½Π° ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ b_inv
result = np.dot(a, b_inv)
print("Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° a Π½Π° b:\n", result)
# Π’ΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΡΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Ρ
h = np.transpose(a)
i = np.transpose(b)
print("ΠΠ°ΡΡΠΈΠ² a ΠΏΠΎΡΠ»Π΅ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ:\n", h)
print("ΠΠ°ΡΡΠΈΠ² b ΠΏΠΎΡΠ»Π΅ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ:\n", i)
# ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²
std_a = np.std(a) # Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° a
median_b = np.median(b) # ΠΠ΅Π΄ΠΈΠ°Π½Π° ΠΌΠ°ΡΡΠΈΠ²Π° b
variance_a = np.var(a) # ΠΠΈΡΠΏΠ΅ΡΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° a
min_b = np.min(b) # ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° b
max_a = np.max(a) # ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° a
sum_b = np.sum(b) # Π‘ΡΠΌΠΌΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° b
product_a = np.product(a, dtype=np.uint64) # ΠΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° a
prod_b = np.prod(b, dtype=np.uint64) # ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅ΡΠΎΠ΄ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
print("Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° a:", std_a)
print("ΠΠ΅Π΄ΠΈΠ°Π½Π° ΠΌΠ°ΡΡΠΈΠ²Π° b:", median_b)
print("ΠΠΈΡΠΏΠ΅ΡΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° a:", variance_a)
print("ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° b:", min_b)
print("ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° a:", max_a)
print("Π‘ΡΠΌΠΌΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° b:", sum_b)
print("ΠΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° a:", product_a)
print("ΠΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° b:", prod_b)
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΠ°ΡΡΠΈΠ² a: [[2 2 3 9 8 2] [4 7 6 6 1 5] [6 8 5 7 6 7] [5 3 2 6 5 5] [8 5 3 7 3 3] [5 8 2 6 1 1]] ΠΠ°ΡΡΠΈΠ² b: [[4 1 6 4 9 4] [6 8 2 2 3 4] [2 4 9 9 7 6] [9 4 2 9 2 3] [5 8 4 7 9 8] [2 7 4 6 9 9]] Π Π°Π·Π½ΠΎΡΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² a ΠΈ b: [[-2 1 -3 5 -1 -2] [-2 -1 4 4 -2 1] [ 4 4 -4 -2 -1 1] [-4 -1 0 -3 3 2] [ 3 -3 -1 0 -6 -5] [ 3 1 -2 0 -8 -8]] ΠΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² a ΠΈ b: [[151 144 101 188 153 143] [139 151 128 175 165 151] [189 215 163 232 244 218] [131 136 106 163 170 147] [152 133 123 171 176 142] [133 116 84 121 113 99]] Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° a Π½Π° b: [[-5.55598908e-01 -1.94654702e+00 4.39719079e-01 -6.62504877e-01 5.72922357e+00 -3.83066719e+00] [-2.90479906e-01 1.16172454e+00 8.37690207e-01 3.86071011e-01 -1.83749512e+00 1.11451424e+00] [ 4.77955521e-03 6.06808428e-01 2.70971518e-01 2.91162700e-01 -3.96898166e-01 5.81057355e-01] [ 3.19791260e-01 -5.26238783e-02 -2.67752634e-01 6.75039017e-01 -7.08788529e-01 1.02033750e+00] [ 5.16972298e-02 2.57315646e-01 1.34998049e-01 5.37065938e-01 4.00897386e-01 -4.29379633e-01] [-1.07915529e+00 -1.51531409e-01 7.47073742e-01 -5.26092470e-01 3.97107881e+00 -3.19444986e+00]] ΠΠ°ΡΡΠΈΠ² a ΠΏΠΎΡΠ»Π΅ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ: [[2 4 6 5 8 5] [2 7 8 3 5 8] [3 6 5 2 3 2] [9 6 7 6 7 6] [8 1 6 5 3 1] [2 5 7 5 3 1]] ΠΠ°ΡΡΠΈΠ² b ΠΏΠΎΡΠ»Π΅ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ: [[4 6 2 9 5 2] [1 8 4 4 8 7] [6 2 9 2 4 4] [4 2 9 9 7 6] [9 3 7 2 9 9] [4 4 6 3 8 9]] Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° a: 2.27438772116208 ΠΠ΅Π΄ΠΈΠ°Π½Π° ΠΌΠ°ΡΡΠΈΠ²Π° b: 5.5 ΠΠΈΡΠΏΠ΅ΡΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° a: 5.172839506172839 ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° b: 1 ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° a: 9 Π‘ΡΠΌΠΌΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° b: 197 ΠΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° a: 18210394348833472512 ΠΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° b: 14758432146536267776
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ NumPy
reshape() β ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΎΡΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ :
import numpy as np
# ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 3x4
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
# ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ reshape() Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° 2x6
new_arr = arr.reshape(2, 6)
print("ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²:")
print(arr)
print("ΠΠ°ΡΡΠΈΠ² ΠΏΠΎΡΠ»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡΠΌΡ:")
print(new_arr)
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²: [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12]] ΠΠ°ΡΡΠΈΠ² ΠΏΠΎΡΠ»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡΠΌΡ: [[ 1 2 3 4 5 6] [ 7 8 9 10 11 12]]
concatenate() β ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ ΠΈΠ»ΠΈ ΠΏΠΎ ΡΡΠΎΠ»Π±ΡΠ°ΠΌ:
import numpy as np a = np.array([[1, 2], [3, 4]]) b = np.array([[5, 6], [7, 8]]) c = np.array([[9, 10], [11, 12]]) #ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΡΠΈ (ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ) d = np.concatenate((a, b, c), axis=1) print(d) #ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΡΠΈ (ΠΏΠΎ ΡΡΠΎΠ»Π±ΡΠ°ΠΌ) e = np.concatenate((a, b, c), axis=0) print(e)
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
[[ 1 2 5 6 9 10] [ 3 4 7 8 11 12]] [[ 1 2] [ 3 4] [ 5 6] [ 7 8] [ 9 10] [11 12]]
flatten() β ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π² ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ:
import numpy as np a = np.array([[1, 2, 9, 8], [7, 5, 3, 4], [2, 1, 5, 6], [4, 8, 7, 8]]) print(a.flatten())
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ;
[1 2 9 8 7 5 3 4 2 1 5 6 4 8 7 8]
argmax() ΠΈ argmin() β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ (ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ) ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π°:
import numpy as np
a = np.array([[4, 2, 9, 89], [17, 5, 3, 14], [25, -5, 5, 6], [4, 18, 17, 8]])
print(f"ΠΠ½Π΄Π΅ΠΊΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°: {np.argmax(a)}")
print(f"ΠΠ½Π΄Π΅ΠΊΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°: {np.argmin(a)}")
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΠ½Π΄Π΅ΠΊΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°: 3 ΠΠ½Π΄Π΅ΠΊΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°: 9
where() β Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΡΡΠ»ΠΎΠ²ΠΈΡ:
import numpy as np arr = np.array([[14, 22, 91, 19], [11, 51, 32, 14], [25, 22, 50, 60], [14, 18, 17, 28]]) # ΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· ΡΠ΅ΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ, Π·Π°ΠΌΠ΅Π½ΡΡ Π½Π΅ΡΠ΅ΡΠ½ΡΠ΅ Π½Π° ΡΠΈΡΡΡ 5 new_arr = np.where(arr % 2 == 0, arr, 5) print(new_arr)
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
[[14 22 5 5] [ 5 5 32 14] [ 5 22 50 60] [14 18 5 28]]
Π NumPy Π΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅ΡΠΎΠ΄, ΠΏΠΎΡ ΠΎΠΆΠΈΠΉ Π½Π° where() β argwhere(). ΠΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΡ, Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΠ²Π°:
import numpy as np
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°
arr = np.random.randint(0, 5, size=(5, 5))
print("ΠΠ°ΡΡΠΈΠ²:")
print(arr)
result = np.argwhere(arr != 3)
print(result)
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΠ°ΡΡΠΈΠ²: [[4 3 0 1 1] [0 0 0 4 1] [1 1 2 0 0] [3 0 0 3 1] [2 2 4 3 0]] [[0 0] [0 2] [0 3] [0 4] [1 0] [1 1] [1 2] [1 3] [1 4] [2 0] [2 1] [2 2] [2 3] [2 4] [3 1] [3 2] [3 4] [4 0] [4 1] [4 2] [4 4]]
nonzero() β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π½Π΅Π½ΡΠ»Π΅Π²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²:
import numpy as np
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°
arr = np.random.randint(0, 2, size=(5, 5))
print("ΠΠ°ΡΡΠΈΠ²:")
print(arr)
result = np.nonzero(arr)
print(result)
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΠ°ΡΡΠΈΠ²: [[0 1 0 0 0] [1 1 0 1 0] [1 0 1 0 1] [1 0 1 1 0] [0 1 0 1 0]] (array([0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4], dtype=int32), array([1, 0, 1, 3, 0, 2, 4, 0, 2, 3, 1, 3], dtype=int32))
unique() β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ:
import numpy as np
# ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ
ΡΠΈΡΠ΅Π» ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 500x500
arr = np.random.randint(low=0, high=10, size=(500, 500))
# Π²ΡΠ²ΠΎΠ΄ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ²Π°
unique_values, counts = np.unique(arr, return_counts=True)
print(arr)
print(unique_values)
print(f"ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°: {counts}")
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
[[1 8 1 ... 6 3 0] [4 5 5 ... 6 4 9] [3 1 4 ... 2 5 8] ... [3 5 3 ... 0 7 7] [0 4 0 ... 8 5 4] [6 3 5 ... 0 2 2]] [0 1 2 3 4 5 6 7 8 9] ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°: [25119 25042 25089 25186 24868 24888 24926 24941 24854 25087]
sort() β ΡΠΎΡΡΠΈΡΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΠΏΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ / ΡΠ±ΡΠ²Π°Π½ΠΈΡ:
import numpy as np arr = np.array([3, 12, 4, 1, 5, 9, 2, 6, 15, -4, 10, -2, 0, 11, 7]) # ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ sorted_asc = np.sort(arr) # ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎ ΡΠ±ΡΠ²Π°Π½ΠΈΡ sorted_des = np.sort(arr)[::-1] print(sorted_asc) print(sorted_des)
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
[-4 -2 0 1 2 3 4 5 6 7 9 10 11 12 15] [15 12 11 10 9 7 6 5 4 3 2 1 0 -2 -4]
diag() β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Ρ ΠΌΠ°ΡΡΠΈΡΡ. Π’Π°ΠΊΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²:
import numpy as np
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°
arr = np.arange(16).reshape((4, 4))
print("ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²:")
print(arr)
# ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ
print("\nΠΠ»Π°Π²Π½Π°Ρ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π°:")
print(np.diag(arr))
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
diag_matrix = np.diag([1, 2, 3, 4, 5])
print("\nΠΠΈΠ°Π³ΠΎΠ½Π°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ°:")
print(diag_matrix)
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²: [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11] [12 13 14 15]] ΠΠ»Π°Π²Π½Π°Ρ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π°: [ 0 5 10 15] ΠΠΈΠ°Π³ΠΎΠ½Π°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ°: [[1 0 0 0 0] [0 2 0 0 0] [0 0 3 0 0] [0 0 0 4 0] [0 0 0 0 5]]
trace() Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΡΠ»Π΅Π΄ ΠΌΠ°ΡΡΠΈΡΡ, ΡΠΎ Π΅ΡΡΡ ΡΡΠΌΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π° Π΅Π΅ Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ:
import numpy as np
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°
arr = np.random.randint(0, 10, size=(20, 20))
print("ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²:")
print(arr)
# ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄Π° ΠΌΠ°ΡΡΠΈΡΡ
trace = np.trace(arr)
print("Π‘Π»Π΅Π΄ ΠΌΠ°ΡΡΠΈΡΡ:")
print(trace)
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²: [[0 2 9 3 8 9 6 5 4 8 2 1 9 6 0 5 9 1 4 8] [8 1 3 1 5 8 9 4 6 7 7 3 6 5 7 3 4 6 4 7] [4 4 9 2 8 3 1 0 9 1 7 6 6 3 5 5 3 8 5 2] [7 9 5 9 5 5 5 4 2 2 8 5 8 8 8 1 6 9 9 0] [5 3 8 2 3 2 6 7 8 5 2 9 7 4 7 8 3 2 8 0] [7 1 4 8 7 0 5 6 1 5 7 2 1 5 3 7 9 3 0 1] [9 9 1 5 3 2 9 5 4 3 2 1 9 5 5 3 5 1 0 7] [3 8 6 0 7 0 8 8 8 7 4 6 7 3 8 0 0 7 5 8] [3 5 5 7 6 1 0 6 3 8 0 9 7 1 3 4 1 8 3 4] [1 9 4 3 6 3 2 4 6 2 4 3 8 5 8 5 4 5 4 8] [5 4 2 0 9 8 1 3 8 0 9 1 6 9 4 2 0 8 3 4] [6 4 1 4 9 8 6 0 7 7 0 1 9 3 5 3 8 7 9 2] [9 4 9 2 5 2 8 6 0 9 0 6 4 1 7 0 6 4 2 8] [2 6 7 2 5 1 7 0 9 9 4 8 2 1 8 6 8 9 3 0] [1 8 3 8 2 6 3 0 0 0 4 0 1 4 2 4 3 2 8 9] [3 9 2 6 6 7 8 4 3 6 6 0 1 6 2 8 8 6 8 7] [6 2 1 3 0 1 6 5 7 6 8 6 4 5 3 9 3 1 3 2] [6 2 9 4 4 8 1 3 1 8 1 2 4 9 8 2 3 9 7 8] [1 2 8 7 4 6 9 5 4 9 3 9 2 8 3 8 1 8 2 3] [9 8 6 2 5 9 9 6 3 0 6 5 6 5 7 7 7 9 4 7]] Π‘Π»Π΅Π΄ ΠΌΠ°ΡΡΠΈΡΡ: 90
ΠΡΠ»ΠΈΡΠ½ΠΎ! ΠΡ ΠΎΡΠ²ΠΎΠΈΠ»ΠΈ Π²Π΅ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ NumPy.
ΠΡ Π·Π½Π°Π΅ΡΠ΅, ΠΏΠΎΡΠ΅ΠΌΡ NumPy ΡΠ°ΠΊ Π±ΡΡΡΡ, ΡΠΌΠ΅Π΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ²Ρ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Ρ Π½ΠΈΠΌΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΄Π΅ΡΡΡΠΊΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄Π»Ρ ΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ. Π£ Π²Π°Ρ Π² ΡΡΠΊΠ°Ρ ΠΏΠΎΠ»Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠ° ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΠΈ Π²ΠΏΠ΅ΡΠ°ΡΠ»ΡΡΡΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅ΡΠ°ΡΡ. Π ΠΏΠΎΠ»Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΡΠΎΠΊΠ° Π²Ρ:
- ΠΠ°ΡΡΠΈΡΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ NumPy Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ: ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ²Π΅ΡΠ° ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΡΡΡΠ΅ ΡΠΎΡΠΎ-ΡΠΈΠ»ΡΡΡΡ.
- ΠΠΎΠΉΠΌΠ΅ΡΠ΅, ΠΊΠ°ΠΊ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ²ΡΠ·ΠΊΠΈ NumPy ΠΈ Matplotlib.
- Π Π΅ΡΠΈΡΠ΅ 10 ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΡ ΠΈ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΡ Π·Π°Π΄Π°Ρ: ΠΎΡ ΡΠ°ΡΡΠ΅ΡΠ° ΠΊΡΠ΅Π΄ΠΈΡΠΎΠ² ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎΡΡΡΠ΅Π»Ρ Π°ΠΊΡΠΈΠΉ Π΄ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΠ»Π°Π½ΠΎΠ².