ΠΠ°ΡΡΠΈΠ²Ρ NumPy | NumPy
3.1. ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠΈΡΠ°ΡΡ
ΠΡΠΆΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΡ Python. ΠΡΠΈΡΠ΅ΠΌ «Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ» ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ Π²ΠΎΠ²ΡΠ΅ Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΡΠΊΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΈΠ·ΡΡΠΈΡΡ ΡΡΠΎΡ ΡΠ·ΡΠΊ. ΠΡΠΊΡΡΡΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ.
ΠΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ IDE Spyder Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Anaconda Π½Π° Python Π²Π΅ΡΡΠΈΠΈ 3.5. ΠΈ NumPy Π²Π΅ΡΡΠΈΠΈ 1.14.0. ΠΡΠΈΠ²ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠ°ΠΊ ΠΆΠ΅ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π»ΡΠ±ΠΎΠΌ Π΄ΡΡΠ³ΠΎΠΌ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π΅ Python 3.Ρ Π²Π΅ΡΡΠΈΠΈ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΠΏΠ°ΠΊΠ΅ΡΠ° NumPy. ΠΠΎ Π΅ΡΠ»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Π²ΡΠ΅ ΠΆΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΡΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ Π²Π°ΡΠ΅Π³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠΈΠ½Π° ΡΠ²ΡΠ·Π°Π½Π° Ρ Π΅Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π² ΡΠ²ΠΎΠ΅ΠΌ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π΅ Π²Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ IDE Spyder, ΡΠΎ Π² Π½Π΅ΠΉ Π½Π΅Ρ Python ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΈΠ²ΡΠΊΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π½ΠΎΠ²ΠΈΡΠΊΠΈ, ΡΡΠΈΠ²ΡΠΈΠ΅ΡΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π² IDLE. ΠΡΠΈ ΡΡΠΎΠΌ Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ, ΡΡΠΎ ΠΈ Π²ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π·Π΄Π΅ΡΡ, ΡΠΎΠΆΠ΅ Π»ΡΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π² Python ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ. ΠΠΎ Π½Π΅Ρ, Python ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ Π°Π²ΡΠΎΡΠΎΠΌ Π»ΠΈΡΡ ΠΏΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΡΠ΅Π΄Π°ΠΊΡΡΡΠΎΠΉ, Π²Π΅ΡΡΡΠΊΠΎΠΉ ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π°. ΠΠΎΠ½ΡΠΎΠ»Ρ IPython ΠΈΠΌΠ΅Π΅Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ².
3.2. ΠΡΠ½ΠΎΠ²Ρ
ΠΠ»Π°Π²Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ NumPy — ΡΡΠΎ ΠΎΠ΄Π½ΠΎΡΠΎΠ΄Π½ΡΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ². Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ»ΠΈ Π΄Π²ΡΠΌΠ΅ΡΠ½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ°, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΡΠΈΡΠ»Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΊΠΎΡΡΠ΅ΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π». Π NumPy, ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΡΡΠ΅ΠΆΠ° Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΡΡΠΌΠΈ, Π° ΡΠΈΡΠ»ΠΎ ΠΎΡΠ΅ΠΉ ΡΠ°Π½Π³ΠΎΠΌ.
Π§ΡΠΎ Π±Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌ, ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΠΈΠΌΠΏΠΎΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ°:
>>> import numpy as np
ΠΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ numpy
ΠΏΠΎΠ΄ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΎΠΌ np
ΡΠΆΠ΅ ΡΡΠ°Π»ΠΎ ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ½ΡΡΠΎΠΉ, Π½Π΅Π³Π»Π°ΡΠ½ΠΎΠΉ, Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ΅Π½Π½ΠΎΡΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠ°Π΄ΠΈΡΠΈΠ΅ΠΉ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌ. Π‘ΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² NumPy Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ ΠΌΡ Π½Π°ΡΠ½Π΅ΠΌ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ — ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ· Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΡΠ½ΡΡ ΡΠΏΠΈΡΠΊΠ° Python:
>>> a = np.array([11, 22, 33, 44, 55, 66, 77, 88, 99])
>>>
>>> a
array([11, 22, 33, 44, 55, 66, 77, 88, 99])
Π’Π΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² (ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ «ΡΠ°Π½Π³ ΠΌΠ°ΡΡΠΈΠ²Π°» Π²ΡΡΠ΄ Π»ΠΈ ΠΏΡΠΈΠΆΠΈΠ²Π΅ΡΡΡ Π² ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅), Ρ.Π΅. Ρ Π½Π΅Π³ΠΎ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄Π½Π° ΠΎΡΡ Π²Π΄ΠΎΠ»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
ΠΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΈΡΠ»Ρ 33 ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²ΡΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ:
>>> a[2]
33
Π ΠΎΠ±ΡΠ΅ΠΌ-ΡΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ, ΡΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΈ Π½Π΅Ρ Π² ΡΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π°Ρ , Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠ°Π»ΠΎ ΠΊΡΠΎΠ»ΠΈΡΡΠ΅ΠΉ Π½ΠΎΡΡ. ΠΡΠ΅Π½ΠΈΡΠ΅:
>>> a[[7, 0, 3, 3, 3, 0, 7]]
array([88, 11, 44, 44, 44, 11, 88])
ΠΠΌΠ΅ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°, ΡΠΊΠ°Π·Π°Π½ ΡΠ΅Π»ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ². Π Π²ΠΎΡ Π΅ΡΠ΅ Π»ΡΠ±ΠΎΠΏΡΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΠΏΠ΅ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΡΠΊΠ°ΠΆΠ΅ΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅:
>>> a[a > 50]
array([55, 66, 77, 88, 99])
>>> 2*a + 10
array([ 32, 54, 76, 98, 120, 142, 164, 186, 208])
>>>
>>> np.sin(a)**2 + np.cos(a)**2
array([1., 1., 1., 1., 1., 1., 1., 1., 1.])
ΠΠ΅ΠΊΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ — ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²ΡΠ΅ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΡΠ°Π·Ρ Π½Π°Π΄ Π²ΡΠ΅ΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ². Π ΡΡΠΎ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π² ΡΠΈΠΊΠ»Π΅. Π ΡΠ»ΡΡΠ°Π΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ, ΡΡΠΎ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊΠΎΠΉ ΡΠΆ Π±ΠΎΠ½ΡΡ, Π²Π΅Π΄Ρ Π΅ΡΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ. ΠΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌ:
>>> a = np.arange(12)
>>> a
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
>>>
>>> a = a.reshape(3, 4)
>>> a
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
Π‘Π΅ΠΉΡΠ°Ρ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΌΠ°ΡΡΠΈΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ np.arange()
, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π° ΡΡΠ½ΠΊΡΠΈΠΈ range()
ΡΠ·ΡΠΊΠ° Python. ΠΠ°ΡΠ΅ΠΌ, ΠΌΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΡΠΎΡΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° reshape()
, Ρ.Π΅. Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠΎΡ ΠΌΠ°ΡΡΠΈΠ² ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
>>> a = np.arange(12).reshape(3, 4)
>>> a
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ, Π΄Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ»ΡΠ΄Ρ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ, ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΠΎΡΡ (ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ) — ΡΡΠΎ ΡΡΡΠΎΠΊΠΈ, Π²ΡΠΎΡΠ°Ρ ΠΎΡΡ — ΡΡΠΎ ΡΡΠΎΠ»Π±ΡΡ. Π’.Π΅. ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ 9 ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
>>> a[2][1] # ΡΠ°Π²Π½ΠΎΡΠΈΠ»ΡΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ a[2, 1]
9
Π‘Π½ΠΎΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ, ΡΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ — Π²ΡΠ΅ ΠΊΠ°ΠΊ Π² Python. ΠΠ°, ΡΠ°ΠΊ ΠΈ Π΅ΡΡΡ, ΠΈ, ΡΡΠΎ ΠΊΡΡΡΠΎ! ΠΡΠ΅ ΠΊΡΡΡΠΎ, ΡΠΎ ΡΡΠΎ NumPy Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΊ ΡΠ΄ΠΎΠ±Π½ΠΎΠΌΡ ΠΈ ΠΏΡΠΈΠ²ΡΡΠ½ΠΎΠΌΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡ Python, Π²Π΅ΡΡΠΌΠ° ΡΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΡΡΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ — ΡΡΠ°Π½ΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²:
>>> b = [2, 3, 4, 5]
>>>
>>> a*b
array([[ 0, 3, 8, 15],
[ 8, 15, 24, 35],
[16, 27, 40, 55]])
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, Π±Π΅Π· Π²ΡΡΠΊΠΈΡ
ΡΠΈΠΊΠ»ΠΎΠ² (ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ²), ΠΌΡ ΡΠΌΠ½ΠΎΠΆΠΈΠ»ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π°
Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° b
. Π’.Π΅. ΠΌΡ ΠΊΠ°ΠΊ Π±Ρ ΡΡΠ°Π½ΡΠ»ΠΈΡΠΎΠ²Π°Π»ΠΈ (Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ — ΡΠ°ΡΡΡΠ½ΡΠ»ΠΈ) ΠΌΠ°ΡΡΠΈΠ² b
ΠΏΠΎ ΠΌΠ°ΡΡΠΈΠ²Ρ a
.
Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ΄Π΅Π»Π°ΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ²Π° a
:
>>> c = [[10], [20], [30]]
>>>
>>> a + c
array([[10, 11, 12, 13],
[24, 25, 26, 27],
[38, 39, 40, 41]])
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΠ±Π°Π²ΠΈΠ»ΠΈ ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ a
ΠΌΠ°ΡΡΠΈΠ²-ΡΡΠΎΠ»Π±Π΅Ρ c
. Π ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ, ΡΠΎ ΡΡΠΎ Ρ
ΠΎΡΠ΅Π»ΠΈ. Π‘Π΅ΠΉΡΠ°Ρ ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ ΡΡΠ°Π½ΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ — ΡΡΠΎ ΡΠ΅ΠΌΠ° Π΄ΡΡΠ³ΠΎΠΉ Π³Π»Π°Π²Ρ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Ρ Ρ
ΠΎΡΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΈΠ»ΠΈ ΡΡΠ΅Ρ
ΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ, ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΡΠΌ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π²Π΄ΠΎΠ»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ — Π΅Π³ΠΎ ΠΎΡΠ΅ΠΉ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠ·Π½Π°ΡΡ Π΅Π³ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ ΠΈ ΡΡΠΎΠ»Π±ΡΠ°ΠΌ. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» ΠΈ ΠΏΡΡΡΡ, Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°, ΡΡΠΈ ΡΠΈΡΠ»Π° Π±ΡΠ΄ΡΡ ΡΠ΅Π»ΡΠΌΠΈ:
>>> a = np.random.randint(0, 15, size = (4, 6)) >>> a array([[ 9, 12, 5, 3, 1, 7], [ 2, 12, 10, 11, 14, 9], [ 4, 4, 9, 11, 5, 2], [12, 8, 6, 8, 9, 3]])
ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΡΠΎ:
>>> a.min()
1
Π Π²ΠΎΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΠΎ ΡΡΠΎΠ»Π±ΡΠ°ΠΌ ΠΈ ΡΡΡΠΎΠΊΠ°ΠΌ:
>>> a.min(axis = 0) # ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΠΎ ΡΡΠΎΠ»Π±ΡΠ°ΠΌ
array([2, 4, 5, 3, 1, 2])
>>>
>>> a.min(axis = 1) # ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ
array([1, 2, 2, 3])
Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π·Π°Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ NumPy:
>>> a.mean(axis = 0) # ΡΡΠ΅Π΄Π½Π΅Π΅ ΠΏΠΎ ΡΡΠΎΠ»Π±ΡΠ°ΠΌ
array([6.75, 9. , 7.5 , 8.25, 7.25, 5.25])
>>>
>>> np.std(a, axis = 1) # ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ
array([3.67045259, 3.77123617, 3.13138237, 2.74873708])
Π§ΡΠΎΠΆ, ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠ΅ ΠΈ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ, Π° ΡΠ°ΠΊ ΠΆΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠΊΠΈ NumPy. ΠΠΎ Π΄Π°Π½Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ ΠΊΠ°ΠΊ Π½Π°ΡΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ. Π§ΡΠΎ Π½Π°ΡΡΠ΅Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ, ΠΈΡ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ?
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²:
>>> a = np.arange(48).reshape(4, 3, 4) >>> a array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]], [[12, 13, 14, 15], [16, 17, 18, 19], [20, 21, 22, 23]], [[24, 25, 26, 27], [28, 29, 30, 31], [32, 33, 34, 35]], [[36, 37, 38, 39], [40, 41, 42, 43], [44, 45, 46, 47]]])
ΠΠΎΡΠ΅ΠΌΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΡΠΉ? ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ΅Π°Π»ΡΠ½ΡΠΉ ΠΌΠΈΡ Π²ΠΎΠ²ΡΠ΅ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ, Π²Π΅ΠΊΡΠΎΡΠ°ΠΌΠΈ ΠΈ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ. ΠΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ΅Π½Π·ΠΎΡΡ, ΠΊΠ²Π°ΡΠ΅ΡΠ½ΠΈΠΎΠ½Ρ, ΠΎΠΊΡΠ°Π²Ρ. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π³ΠΎΡΠ°Π·Π΄ΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΠΎΠΌ ΠΈ ΡΠ΅ΡΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΠΈΡΠΆΠ΅Π²ΡΠ΅ ΡΠΎΡΠ³ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌ, Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π² ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅, Π° ΡΠΎΡΠ³ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π±ΠΈΡΠΆ Π² ΡΠ΅ΡΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΠΎΠΌ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠ°ΠΊΠΈΠΌΠΈ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΠΌΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΎΡΠ΅Π½Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π»ΡΠ΄Π΅ΠΉ, Π½ΠΎ Π½Π°Π΄ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΈ Π»ΡΠ΄ΠΈ Π΄Π²ΠΈΠ³Π°ΡΡ Π½Π°ΡΠΊΡ ΠΈ ΠΈΠ½Π΄ΡΡΡΡΠΈΡ Π²ΠΏΠ΅ΡΠ΅Π΄. ΠΠ° ΠΈ ΡΠ»ΠΎΠ²ΠΎ «ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅» ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌΠΎΠΌ «ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅. ΠΠΎΡΡΠΎΠΌΡ… ΡΡΠΎ-ΡΠΎ ΠΌΡ ΠΎΡΠ²Π»Π΅ΠΊΠ»ΠΈΡΡ… Π²ΠΎΡ Π½Π°Ρ ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²:
ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ (ΠΈ Ρ ΠΎΡΠΎΡΠ΅Π΅ Π²ΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠ°Π·Ρ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠ΅Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΡΠ°ΡΠΈΡΡ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΈΡΠ»ΠΎ 31, ΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ:
>>> a[2][1][3] # ΠΈΠ»ΠΈ a[2, 1, 3]
31
ΠΠΎ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠ·Π½Π°ΡΡ ΠΏΠΎΠ±ΠΎΠ»ΡΡΠ΅ ΠΎΠ± ΡΡΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅. Π ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π΅ΡΡΡ ΡΠ΅Π»ΡΠΉ ΡΡΠ΄ Π²Π°ΠΆΠ½ΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΠ΅ΠΉ ΠΌΠ°ΡΡΠΈΠ²Π° (Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ), ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ, Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π»Π΅Π³ΠΊΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ:
>>> a.ndim
3
ΠΠ°ΡΡΠΈΠ² a
Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ΅Ρ
ΠΌΠ΅ΡΠ½ΡΠΉ. ΠΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, Π° Π½Π° ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΆΠ΅ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠ½ ΡΠΎΡΠΌΡ, Ρ.Π΅. ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΎ Π²Π΄ΠΎΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΡΠΈ? ΠΡΠ²Π΅ΡΠΈΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ ndarray.shape
:
>>> a.shape
(4, 3, 4)
ΠΠ΅ΡΠΎΠ΄ ndarray.size
ΠΏΡΠΎΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π°:
>>> a.size
48
ΠΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΠ°ΡΡ ΡΠ°ΠΊΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ — ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΠΌΡΡΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π½Π°Ρ ΠΌΠ°ΡΡΠΈΠ²? ΠΠ½ΠΎΠ³Π΄Π° Π΄Π°ΠΆΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΠ°ΠΊΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ — Π²Π»Π΅Π·Π΅Ρ Π»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΏΠΎΡΠ»Π΅ Π²ΡΠ΅Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ? Π§ΡΠΎ Π±Ρ Π½Π° Π½Π΅Π³ΠΎ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π°Π΄ΠΎ Π·Π½Π°ΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ «Π²Π΅ΡΠΈΡ» ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°:
>>> a.itemsize # ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ ndarray.dtype.itemsize
4
ndarray.itemsize
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² Π±Π°ΠΉΡΠ°Ρ
. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ·Π½Π°ΡΡ ΡΠΊΠΎΠ»ΡΠΊΠΎ «Π²Π΅ΡΠΈΡ» Π½Π°Ρ ΠΌΠ°ΡΡΠΈΠ²:
>>> a.size*a.itemsize
192
ΠΡΠΎΠ³ΠΎ — 192 Π±Π°ΠΉΡΠ°. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ΠΏΠ°ΠΌΡΡΠΈ, Π·Π°Π²ΠΈΡΠΈΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² Π½Π΅ΠΌ, Π½ΠΎ ΠΈ ΠΎΡ ΠΈΡΠΏΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ :
>>> a.dtype
dtype('int32')
dtype('int32')
— ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ 32 Π±ΠΈΡΠ° ΠΏΠ°ΠΌΡΡΠΈ. ΠΠΎ Π΅ΡΠ»ΠΈ ΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, ΡΠΎ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡΡ:
>>> b = a/3.14
>>>
>>> b
array([[[ 0. , 0.31847134, 0.63694268, 0.95541401],
[ 1.27388535, 1.59235669, 1.91082803, 2.22929936],
[ 2.5477707 , 2.86624204, 3.18471338, 3.50318471]],
[[ 3.82165605, 4.14012739, 4.45859873, 4.77707006],
[ 5.0955414 , 5.41401274, 5.73248408, 6.05095541],
[ 6.36942675, 6.68789809, 7.00636943, 7.32484076]],
[[ 7.6433121 , 7.96178344, 8.28025478, 8.59872611],
[ 8.91719745, 9.23566879, 9.55414013, 9.87261146],
[10.1910828 , 10.50955414, 10.82802548, 11.14649682]],
[[11.46496815, 11.78343949, 12.10191083, 12.42038217],
[12.7388535 , 13.05732484, 13.37579618, 13.69426752],
[14.01273885, 14.33121019, 14.64968153, 14.96815287]]])
>>>
>>>
>>> b.dtype
dtype('float64')
Π’Π΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΌΠ°ΡΡΠΈΠ² — ΠΌΠ°ΡΡΠΈΠ² b
ΠΈ Π΅Π³ΠΎ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
'float64'
— Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠΈΡΠ»Π° (ΡΠΈΡΠ»Π° Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ) Π΄Π»ΠΈΠ½Π½ΠΎΠΉ 64 Π±ΠΈΡΠ°. Π Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ:
>>> b.size*b.itemsize
384
Π’ΠΎΠ³Π΄Π° ΠΌΠ°ΡΡΠΈΠ² a
— 192 Π±Π°ΠΉΡΠ°, ΠΌΠ°ΡΡΠΈΠ² b
— 384 Π±Π°ΠΉΡΠ°. Π Π² ΠΎΠ±ΡΠ΅ΠΌ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, 576 Π±Π°ΠΉΡ — ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΌΠ°Π»ΠΎ Π΄Π»Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, Π½ΠΎ ΠΈ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΌΡ Π΄Π°Π½Π½ΡΡ
, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΉΡΠ°Ρ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠ΅.
ΠΡ Ρ Π²Π°ΠΌΠΈ ΡΠΎΠ±ΠΈΡΠ°Π»ΠΈΡΡ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π² NumPy, Π½ΠΎ ΡΡΠΎ ΡΠΎΠΆΠ΅ ΡΠ΅ΠΌΠ° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ Π³Π»Π°Π²Ρ. ΠΠΎΠ³Ρ Π»ΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠΊΠΎΡΠΎΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ, ΠΎΡΠ΅Π½Ρ ΡΠΈΠ»ΡΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΏΠΈΡΠΈΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΡΡΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΌΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, Π° ΡΠ°Π±ΠΎΡΠ° ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ NumPy Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΡΠΈΠΊΠ»Π°Ρ , ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅. Π ΠΎΠ±ΡΠ΅ΠΌ Π·Π°Π΄Π°ΡΠ° ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅Π³ΠΎ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΠΆΠ΅Π»Π΅Π·Π°, Π½Π΅ ΡΠ°ΠΊΠ°Ρ ΡΠΆ ΠΈ ΠΏΡΠΎΡΡΠ°Ρ, Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΡΠ΅ΡΠ°Π΅ΠΌΠ°Ρ Π·Π°Π΄Π°ΡΠ°.
3.3. ΠΠ°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ
ΠΡΠ»ΠΈ Π²Ρ Π½ΠΎΠ²ΠΈΡΠΎΠΊ, ΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠΊΠΎΡΠΎ ΠΏΠΎΠΉΠΌΠ΅ΡΠ΅, ΡΡΠΎ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ NumPy ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΡΠΎΡΡ ΠΊΠ°ΠΊ ΠΈ Python. ΠΠΎ, ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ, Π΄Π΅Π»ΠΎ Π΄ΠΎΠΉΠ΄Π΅Ρ Π΄ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΡ Π·Π°Π΄Π°Ρ ΠΈ Π²ΠΎΡ ΡΠΎΠ³Π΄Π° Π½Π°ΡΠ½Π΅ΡΡΡ ΡΠ°ΠΌΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅: Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ, Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π³ΡΠ³Π»ΠΈΡΡΡ, Π° Π±Π΅ΡΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ «ΠΏΠΎΡΡΠΈ» ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠ΅ ΡΠΎΠ²Π΅ΡΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ Π½Π΅ΠΎΠ±ΡΡΡΠ½ΠΈΠΌΡΠΌ ΡΠ²Π΅ΡΡ ΡΠ΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡΠΌ. Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ Π² ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ?
- Π³ΡΠ³Π»ΠΈΡΡ ΡΠΏΠΎΡΠ½Π΅Π΅ ΠΈ ΡΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΊ ΡΠ°ΠΌΠΎΠΌΡ Π΄Π½Ρ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΠΎΠΉ Π²ΡΠ΄Π°ΡΠΈ;
- Π³ΡΠ³Π»ΠΈΡΡ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ, Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π° ΠΏΠΎΡΡΠ΄ΠΊΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΠΌ Π½Π° ΡΡΡΡΠΊΠΎΠΌ;
- Π΅ΡΠ»ΠΈ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³ ΠΏΡΠ½ΠΊΡ 2, ΡΠΎ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ ΠΏΡΠΎΡΡΠΎ ΠΌΠ°Π½ΡΡΠΊ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ, ΠΈ ΡΡΠΎ Π±Ρ ΡΠ΅ΡΠΈΡΡ ΡΠ²ΠΎΡ ΠΌΠ°Π½ΠΈΠ°ΠΊΠ°Π»ΡΠ½ΡΡ Π·Π°Π΄Π°ΡΡ, Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π³ΡΠ³Π»ΠΈΡΡ Π½Π° ΠΊΠΈΡΠ°ΠΉΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π° ΠΊΠΈΡΠ°ΠΉΡΠΊΠΎΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π° ΠΏΠΎΡΡΠ΄ΠΊΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΠΌ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ.
ΠΡΠΎ ΡΡΡΠΊΠ° ΠΈ ΡΠ΅ΡΡΠ΅Π·Π½Π°Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΠΎ, Π΅ΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎ, ΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΠΉΡΠ΅ΡΡ Π·Π΄ΡΠ°Π²ΠΎΠ³ΠΎ ΡΠΌΡΡΠ»Π°. ΠΠ΄Π΅ ΡΡΠΎΡ Π·Π΄ΡΠ°Π²ΡΠΉ ΡΠΌΡΡΠ» Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ, Π° Π³Π΄Π΅ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΄Π½ΠΎ. import this
Π²Π°ΠΌ Π² ΠΏΠΎΠΌΠΎΡΡ:
>>> import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π½ΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ R ΠΈΠ»ΠΈ matlab, ΡΠΎ Π²Π°Ρ ΡΠΎΠΆΠ΅ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΡΡΠ½ΡΡ ΡΡΡΠΏΡΠΈΠ·ΠΎΠ², ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ — ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΡΡΡΡΠ°ΡΡ ΠΏΠΎ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅.
pyprog.pro
NumPy Π² Python. Π§Π°ΡΡΡ 1 / Habr
ΠΡΠ΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°
ΠΠΎΠ±ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ, Π₯Π°Π±Ρ. ΠΠ°ΠΏΡΡΠΊΠ°Ρ ΡΠΈΠΊΠ» ΡΡΠ°ΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠΌ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΌΠ°Π½Π° ΠΏΠΎ numpy, ΡΡΡΠ»ΠΎΡΠΊΠ°. ΠΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
NumPy ΡΡΠΎ open-source ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ python, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΠΈΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΏΡΠ΅-ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ , Π±ΡΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ½ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Π² Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ. ΠΠ½ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π», ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ MatLab. NumPy (Numeric Python) ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΠΈ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ. SciPy (Scientific Python) ΡΠ°ΡΡΠΈΡΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» numpy ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΡ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π€ΡΡΡΠ΅, ΡΠ΅Π³ΡΠ΅ΡΡΠΈΡ, ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Python(x, y) (ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: Python(x, y), ΡΡΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π°ΡΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΡΠ°ΡΡΡΡΠΎΠ², Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python ΠΈ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ (Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ)) Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Windows, ΡΠΎ Π²Ρ Π³ΠΎΡΠΎΠ²Ρ Π½Π°ΡΠΈΠ½Π°ΡΡ. ΠΡΠ»ΠΈ ΠΆΠ΅ Π½Π΅Ρ, ΡΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ python, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ½Π°ΡΠ°Π»Π° NumPy ΠΏΠΎΡΠΎΠΌ SciPy. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½Π° Π·Π΄Π΅ΡΡ. Π‘Π»Π΅Π΄ΡΠΉΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅, ΡΠ°ΠΌ Π²ΡΡ ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ.
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ
Π‘ΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ NumPy ΠΈ SciPy ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠ½Π»Π°ΠΉΠ½ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠ΅ Π³Π°ΠΉΠ΄Ρ ΠΈ ΡΡΡΠΎΡΠΈΠ°Π»Ρ, ΡΡΡ: docs.scipy.org/doc.
ΠΠΌΠΏΠΎΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ numpy
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΡΠ΅ΠΉ ΠΈΠΌΠΏΠΎΡΡΠ°. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΡΠΎ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅:
>>> import numpy
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ numpy, ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ ΡΡΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ numpy.X ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π°. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Π³ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΡΠ°ΠΊ:
>>> import numpy as np
ΠΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ numpy ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ np.X Π²ΠΌΠ΅ΡΡΠΎ numpy.X. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ numpy ΠΏΡΡΠΌΠΎ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½, ΡΡΠΎΠ±Ρ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· ΡΠΎΡΠΊΡ, Π° Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΈΡ Π½Π°ΠΏΡΡΠΌΡΡ:
>>> from numpy import *
ΠΠ΄Π½Π°ΠΊΠΎ, ΡΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ Π½Π΅ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΠ΅ΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° python, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ±ΠΈΡΠ°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ. ΠΠΎ ΠΊΠΎΠ½ΡΠ° ΡΡΠΎΠ³ΠΎ ΡΡΡΠΎΡΠΈΠ°Π»Π° ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠΎΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΠΌΠΏΠΎΡΡΠ° (import numpy as np).
ΠΠ°ΡΡΠΈΠ²Ρ
ΠΠ»Π°Π²Π½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ numpy ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ array. ΠΠ°ΡΡΠΈΠ²Ρ ΡΡ ΠΎΠΆΠΈ ΡΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ Π² python, ΠΈΡΠΊΠ»ΡΡΠ°Ρ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , ΠΊΠ°ΠΊ float ΠΈ int. Π‘ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΡΠ°Π·Ρ Π±ΡΡΡΡΠ΅Π΅ ΠΈ, Π³Π»Π°Π²Π½ΠΎΠ΅, Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅ ΡΠ΅ΠΌ ΡΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°:
a = np.array([1, 4, 5, 8], float)
>>> a
array([ 1., 4., 5., 8.])
>>> type(a)
<class 'numpy.ndarray'>
ΠΠ΄Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΡ array ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°: ΡΠΏΠΈΡΠΎΠΊ Π΄Π»Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΠΈ Π² ΠΌΠ°ΡΡΠΈΠ² ΠΈ ΡΠΈΠΏ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΠΎ Π²ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠΌΠΈ ΡΠ°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ Π²Ρ Π±Ρ ΡΡΠΎ Π΄Π΅Π»Π°Π»ΠΈ Ρ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ:
>>> a[:2]
array([ 1., 4.])
>>> a[3]
8.0
>>> a[0] = 5.
>>> a
array([ 5., 4., 5., 8.])
ΠΠ°ΡΡΠΈΠ²Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΌΠΈ. Π ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ ΡΠΏΠΈΡΠΊΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ . ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° (ΠΌΠ°ΡΡΠΈΡΠ°):
>>> a = np.array([[1, 2, 3], [4, 5, 6]], float)
>>> a
array([[ 1., 2., 3.],
[ 4., 5., 6.]])
>>> a[0,0]
1.0
>>> a[0,1]
2.0
Array slicing ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΈ Ρ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΌΠΈ, ΠΏΡΠΈΠΌΠ΅Π½ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΡΠ΅Π·, ΠΊΠ°ΠΊ ΡΠΈΠ»ΡΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ «:» Π² ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ Π΄Π»Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ:
>>> a = np.array([[1, 2, 3], [4, 5, 6]], float)
>>> a[1,:]
array([ 4., 5., 6.])
>>> a[:,2]
array([ 3., 6.])
>>> a[-1:, -2:]
array([[ 5., 6.]])
ΠΠ΅ΡΠΎΠ΄ shape Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΡΠ΅:
>>> a.shape
(2, 3)
ΠΠ΅ΡΠΎΠ΄ dtype Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Ρ ΡΠ°Π½ΡΡΠΈΡ ΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅:
>>> a.dtype
dtype('float64')
Π’ΡΡ float64, ΡΡΠΎ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ Π² numpy, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΈΡΠ΅Π» Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΆΠ΅ float Π² Python.
ΠΠ΅ΡΠΎΠ΄ len Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π»ΠΈΠ½Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ (ΠΎΡΠΈ):
a = np.array([[1, 2, 3], [4, 5, 6]], float)
>>> len(a)
2
ΠΠ΅ΡΠΎΠ΄ in ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅:
>>> a = np.array([[1, 2, 3], [4, 5, 6]], float)
>>> 2 in a
True
>>> 0 in a
False
ΠΠ°ΡΡΠΈΠ²Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ². Π‘Π»Π΅Π΄ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΌΡ ΠΏΠ΅ΡΠ΅ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· Π΄Π΅ΡΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²ΠΎ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· ΠΏΡΡΠΈ ΡΡΡΠΎΠΊ ΠΈ Π΄Π²ΡΡ ΡΡΠΎΠ»Π±ΡΠΎΠ²:
>>> a = np.array(range(10), float)
>>> a
array([ 0., 1., 2., 3., 4., 5., 6., 7., 8., 9.])
>>> a = a.reshape((5, 2))
>>> a
array([[ 0., 1.],
[ 2., 3.],
[ 4., 5.],
[ 6., 7.],
[ 8., 9.]])
>>> a.shape
(5, 2)
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΌΠ΅ΡΠΎΠ΄ reshape ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², Π° Π½Π΅ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ.
ΠΠΌΠ΅ΠΉΡΠ΅ Π²Π²ΠΈΠ΄Ρ, ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ Π² python ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ. ΠΠ΅ΡΠΎΠ΄ copy ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΏΠΈΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΠΏΠ°ΠΌΡΡΠΈ:
>>> a = np.array([1, 2, 3], float)
>>> b = a
>>> c = a.copy()
>>> a[0] = 0
>>> a
array([0., 2., 3.])
>>> b
array([0., 2., 3.])
>>> c
array([1., 2., 3.])
Π‘ΠΏΠΈΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²:
>>> a = np.array([1, 2, 3], float)
>>> a.tolist()
[1.0, 2.0, 3.0]
>>> list(a)
[1.0, 2.0, 3.0]
ΠΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² Π² Π±ΠΈΠ½Π°ΡΠ½ΡΡ ΡΡΡΠΎΠΊΡ (ΡΠΎ Π΅ΡΡΡ, Π½Π΅ human-readable ΡΠΎΡΠΌΡ). ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ tostring Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ. ΠΠ΅ΡΠΎΠ΄ fromstring ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΠ»Π΅Π·Π½Ρ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π΄Π°Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ»Π°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΡΠΈΡΠ°Π½Ρ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ.
>>> a = array([1, 2, 3], float)
>>> s = a.tostring()
>>> s
'\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x08@'
>>> np.fromstring(s)
array([ 1., 2., 3.])
ΠΠ°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ.
>>> a = array([1, 2, 3], float)
>>> a
array([ 1., 2., 3.])
>>> a.fill(0)
>>> a
array([ 0., 0., 0.])
Π’ΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²:
>>> a = np.array(range(6), float).reshape((2, 3))
>>> a
array([[ 0., 1., 2.],
[ 3., 4., 5.]])
>>> a.transpose()
array([[ 0., 3.],
[ 1., 4.],
[ 2., 5.]])
ΠΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° flatten:
>>> a = np.array([[1, 2, 3], [4, 5, 6]], float)
>>> a
array([[ 1., 2., 3.],
[ 4., 5., 6.]])
>>> a.flatten()
array([ 1., 2., 3., 4., 5., 6.])
ΠΠ²Π° ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° concatenate:
>>> a = np.array([1,2], float)
>>> b = np.array([3,4,5,6], float)
>>> c = np.array([7,8,9], float)
>>> np.concatenate((a, b, c))
array([1., 2., 3., 4., 5., 6., 7., 8., 9.])
ΠΡΠ»ΠΈ ΠΌΠ°ΡΡΠΈΠ² Π½Π΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΎΡΡ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (Π½Π΅ Π·Π°Π΄Π°Π²Π°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΡΠΈ), ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ ΠΏΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ:
>>> a = np.array([[1, 2], [3, 4]], float)
>>> b = np.array([[5, 6], [7,8]], float)
>>> np.concatenate((a,b))
array([[ 1., 2.],
[ 3., 4.],
[ 5., 6.],
[ 7., 8.]])
>>> np.concatenate((a,b), axis=0)
array([[ 1., 2.],
[ 3., 4.],
[ 5., 6.],
[ 7., 8.]])
>>>
np.concatenate((a,b), axis=1)
array([[ 1., 2., 5., 6.],
[ 3., 4., 7., 8.]])
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ, ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π° ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ newaxis Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ :
>>> a = np.array([1, 2, 3], float)
>>> a
array([1., 2., 3.])
>>> a[:,np.newaxis]
array([[ 1.],
[ 2.],
[ 3.]])
>>> a[:,np.newaxis].shape
(3,1)
>>> b[np.newaxis,:]
array([[ 1., 2., 3.]])
>>> b[np.newaxis,:].shape
(1,3)
ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ; ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ newaxis ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ ΠΎΠ΄ΠΈΠ½. ΠΠ΅ΡΠΎΠ΄ newaxis ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π°Π΄Π»Π΅ΠΆΠ°ΡΠ΅-ΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² Π²Π΅ΠΊΡΠΎΡΠ½ΠΎΠΉ ΠΈ ΠΌΠ°ΡΡΠΈΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅.
ΠΠ° ΡΡΠΎΠΌ Ρ Π½Π°Ρ ΠΊΠΎΠ½Π΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π°. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.
habr.com
ΠΠ°ΡΡΠΈΡΡ ΠΈ ΠΌΠ°ΡΡΠΈΠ²Ρ NumPy Π² Python
ΠΠ°ΡΡΠΈΡΠ° β ΡΡΠΎ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ , Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΈΡΠ»Π° ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊ ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΠ° ΠΌΠ°ΡΡΠΈΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ ΡΡΠΈ Π½Π° ΡΠ΅ΡΡΡΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Π° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 3 ΡΡΡΠΎΠΊ ΠΈ 4 ΡΡΠΎΠ»Π±ΡΠΎΠ².
Python Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΡ. ΠΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΠΊ ΠΌΠ°ΡΡΠΈΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
A = [[1, 4, 5], [-5, 8, 9]]
ΠΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ Π½Π° 2 ΡΡΡΠΎΠΊΠΈ ΠΈ 3 ΡΡΠΎΠ»Π±ΡΠ°.
ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ ΠΏΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌ Python, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠΈΡΠ°ΡΡ ΡΡΡ ΡΡΠ°ΡΡΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌ ΡΠΏΠΈΡΠΊΠΎΠΌ.
A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]] print("A =", A) print("A[1] =", A[1]) # Π²ΡΠΎΡΠ°Ρ ΡΡΡΠΎΠΊΠ° print("A[1][2] =", A[1][2]) # ΡΡΠ΅ΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π²ΡΠΎΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ print("A[0][-1] =", A[0][-1]) # ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ column = []; # ΠΏΡΡΡΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ for row in A: column.append(row[2]) print("3rd column =", column)
ΠΠΎΠ³Π΄Π° ΠΌΡ Π·Π°ΠΏΡΡΡΠΈΠΌ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]] A [1] = [-5, 8, 9, 0] A [1] [2] = 9 A [0] [- 1] = 12 3-ΠΉ ΡΡΠΎΠ»Π±Π΅Ρ = [5, 9, 11]
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΠΏΠΈΡΠΊΠΎΠ² Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΡΡΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π·Π°Π΄Π°Ρ. ΠΠΎ Π² Python Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ β NumPy .
NumPy β ΡΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π½Π°ΡΡΠ½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΌΠΎΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ N-ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ NumPy, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ,
- ΠΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ: ΠΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ NumPy?
- ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π² Windows, ΡΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² anaconda Python. ΠΠ½ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ NumPy ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ NumPy ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ.
NumPy ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠΈΡΠ΅Π» (ΠΊΠΎΡΠΎΡΡΠΉ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ). ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ:
import numpy as np a = np.array([1, 2, 3]) print(a) # ΠΡΠ²ΠΎΠ΄: [1, 2, 3] print(type(a)) # ΠΡΠ²ΠΎΠ΄: <class 'numpy.ndarray'>
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΊΠ»Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° NumPy Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ndarray.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² NumPy.
import numpy as np A = np.array([[1, 2, 3], [3, 4, 5]]) print(A) A = np.array([[1.1, 2, 3], [3, 4, 5]]) # ΠΠ°ΡΡΠΈΠ² ΡΠΈΡΠ΅Π» Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ print(A) A = np.array([[1, 2, 3], [3, 4, 5]], dtype = complex) # ΠΠ°ΡΡΠΈΠ² ΡΠΎΡΡΠ°Π²Π½ΡΡ ΡΠΈΡΠ΅Π» print(A)
ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
[[1 2 3] [3 4 5]] [[1.1 2. 3.] [3. 4. 5.]] [[1. + 0.j 2. + 0.j 3. + 0.j] [3. + 0.j 4. + 0.j 5. + 0.j]]
import numpy as np zeors_array = np.zeros( (2, 3) ) print(zeors_array) ''' ΠΡΠ²ΠΎΠ΄: [[0. 0. 0.] [0. 0. 0.]] ''' ones_array = np.ones( (1, 5), dtype=np.int32 ) // ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ dtype print(ones_array) # ΠΡΠ²ΠΎΠ΄: [[1 1 1 1 1]]
ΠΠ΄Π΅ΡΡ ΠΌΡ ΡΠΊΠ°Π·Π°Π»ΠΈ dtype β 32 Π±ΠΈΡΠ° (4 Π±Π°ΠΉΡΠ°). Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎΡ ΠΌΠ°ΡΡΠΈΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΡ -2-31 Π΄ΠΎ 2-31-1.
import numpy as np A = np.arange(4) print('A =', A) B = np.arange(12).reshape(2, 6) print('B =', B) ''' ΠΡΠ²ΠΎΠ΄: A = [0 1 2 3] B = [[ 0 1 2 3 4 5] [ 6 7 8 9 10 11]] '''
Π£Π·Π½Π°ΠΉΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ Π΄ΡΡΠ³ΠΈΡ ΡΠΏΠΎΡΠΎΠ±Π°Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° NumPy .
ΠΡΡΠ΅ ΠΌΡ ΠΏΡΠΈΠ²Π΅Π»ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ ΠΈ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡ ΠΆΠ΅ Π·Π°Π΄Π°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ°ΡΡΠΈΠ² NumPy.
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ +, ΡΡΠΎΠ±Ρ ΡΠ»ΠΎΠΆΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π²ΡΡ ΠΌΠ°ΡΡΠΈΡ NumPy.
import numpy as np A = np.array([[2, 4], [5, -6]]) B = np.array([[9, -3], [3, 6]]) C = A + B # ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² print(C) ''' ΠΡΠ²ΠΎΠ΄: [[11 1] [ 8 0]] '''
Π§ΡΠΎΠ±Ρ ΡΠΌΠ½ΠΎΠΆΠΈΡΡ Π΄Π²Π΅ ΠΌΠ°ΡΡΠΈΡΡ, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ dot(). Π£Π·Π½Π°ΠΉΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ numpy.dot .
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: * ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° (ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π²ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²), Π° Π½Π΅ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ.
import numpy as np A = np.array([[3, 6, 7], [5, -3, 0]]) B = np.array([[1, 1], [2, 1], [3, -3]]) C = a.dot(B) print(C) ''' ΠΡΠ²ΠΎΠ΄: [[ 36 -12] [ -1 2]] '''
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ numpy.transpose Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ.
import numpy as np A = np.array([[1, 1], [2, 1], [3, -3]]) print(A.transpose()) ''' ΠΡΠ²ΠΎΠ΄: [[ 1 2 3] [ 1 1 -3]] '''
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, NumPy Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΡΠΈΠ» Π½Π°ΡΡ Π·Π°Π΄Π°ΡΡ.
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΌΠ°ΡΡΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ. ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° NumPy.
import numpy as np A = np.array([2, 4, 6, 8, 10]) print("A[0] =", A[0]) # ΠΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ print("A[2] =", A[2]) # Π’ΡΠ΅ΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ print("A[-1] =", A[-1]) # ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ
ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
A [0] = 2 A [2] = 6 A [-1] = 10
Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΡΡΠ½ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° (ΠΊΠΎΡΠΎΡΡΠΉ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ).
import numpy as np A = np.array([[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]]) # ΠΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ print("A[0][0] =", A[0][0]) # Π’ΡΠ΅ΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π²ΡΠΎΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ print("A[1][2] =", A[1][2]) # ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΡΡΠΎΠΊΠΈ print("A[-1][-1] =", A[-1][-1])
ΠΠΎΠ³Π΄Π° ΠΌΡ Π·Π°ΠΏΡΡΡΠΈΠΌ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
A [0] [0] = 1 A [1] [2] = 9 A [-1] [- 1] = 19
import numpy as np A = np.array([[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]]) print("A[0] =", A[0]) # ΠΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° print("A[2] =", A[2]) # Π’ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠ° print("A[-1] =", A[-1]) # ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΡΠΎΠΊΠ° (ΡΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠ° Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅)
ΠΠΎΠ³Π΄Π° ΠΌΡ Π·Π°ΠΏΡΡΡΠΈΠΌ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
A [0] = [1, 4, 5, 12] A [2] = [-6, 7, 11, 19] A [-1] = [-6, 7, 11, 19]
import numpy as np A = np.array([[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]]) print("A[:,0] =",A[:,0]) # ΠΠ΅ΡΠ²ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ print("A[:,3] =", A[:,3]) # Π§Π΅ΡΠ²Π΅ΡΡΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ print("A[:,-1] =", A[:,-1]) # ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΡΠΎΠ»Π±Π΅Ρ (ΡΠ΅ΡΠ²Π΅ΡΡΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅)
ΠΠΎΠ³Π΄Π° ΠΌΡ Π·Π°ΠΏΡΡΡΠΈΠΌ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
A [:, 0] = [1 -5 -6] A [:, 3] = [12 0 19] A [:, - 1] = [12 0 19]
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ΄, ΠΏΡΠΎΡΡΠΈΡΠ΅ ΡΠ°Π·Π΄Π΅Π» Β«Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡΒ».
Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° NumPy Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ°. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ:
import numpy as np letters = np.array([1, 3, 5, 7, 9, 7, 5]) # Ρ 3-Π³ΠΎ ΠΏΠΎ 5-ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ print(letters[2:5]) # ΠΡΠ²ΠΎΠ΄: [5, 7, 9] # Ρ 1-Π³ΠΎ ΠΏΠΎ 4-ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ print(letters[:-5]) # ΠΡΠ²ΠΎΠ΄: [1, 3] # Ρ 6-Π³ΠΎ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° print(letters[5:]) # ΠΡΠ²ΠΎΠ΄:[7, 5] # Ρ 1-Π³ΠΎ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° print(letters[:]) # ΠΡΠ²ΠΎΠ΄:[1, 3, 5, 7, 9, 7, 5] # ΡΠΏΠΈΡΠΎΠΊ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ print(letters[::-1]) # ΠΡΠ²ΠΎΠ΄:[5, 7, 9, 7, 5, 3, 1]
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΌΠ°ΡΡΠΈΡΡ.
import numpy as np A = np.array([[1, 4, 5, 12, 14], [-5, 8, 9, 0, 17], [-6, 7, 11, 19, 21]]) print(A[:2, :4]) # Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ, ΡΠ΅ΡΡΡΠ΅ ΡΡΠΎΠ»Π±ΡΠ° ''' ΠΡΠ²ΠΎΠ΄: [[ 1 4 5 12] [-5 8 9 0]] ''' print(A[:1,]) # ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ°, Π²ΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ ''' ΠΡΠ²ΠΎΠ΄: [[ 1 4 5 12 14]] ''' print(A[:,2]) # Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, Π²ΡΠΎΡΠΎΠΉ ΡΡΠΎΠ»Π±Π΅Ρ ''' ΠΡΠ²ΠΎΠ΄: [ 5 9 11] ''' print(A[:, 2:5]) # Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, Ρ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ ΠΏΠΎ ΠΏΡΡΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ ''' ΠΡΠ²ΠΎΠ΄: [[ 5 12 14] [ 9 0 17] [11 19 21]] '''
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ NumPy Π²ΠΌΠ΅ΡΡΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΠΏΠΈΡΠΊΠΎΠ² Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ. ΠΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ ΠΈΠ·ΡΡΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ NumPy, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Python Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½ΡΡ .
ΠΠ°Π½Π½Π°Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠ°ΡΡΠΈ Β«Python Matrices and NumPy ArraysΒ» , ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Π΄ΡΡΠΆΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.ΡΡ
www.internet-technologies.ru
Π£ΡΠ΅Π±Π½ΠΈΠΊ ΠΏΠΎ NumPy — ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ
ΠΠ°ΠΊΠ΅Ρ NumPy ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡΠΌ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠΎΠΌ Python. ΠΠ½ ΡΡΠ½Π΅Ρ Π½Π° ΡΠ΅Π±Π΅ Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½ΡΡ , ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π½Π°ΡΡΠ½ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ² ΠΈ ΠΌΠ°ΡΡΠΈΡ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π΅Π΄ΡΡΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Python ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ NumPy ΠΊΠ°ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ²ΠΎΠ΅ΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ. Π ΠΈΡ ΡΠΈΡΠ»Ρ ΠΎΡΠ½ΠΎΡΡΡΡΡ scikit-learn, SciPy, pandas ΠΈ tenorflow. ΠΠΎΠΌΠΈΠΌΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ ΠΏΠΎ ΠΊΠΎΡΡΠΎΡΠΊΠ°ΠΌ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΠΌΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ NumPy Π΄Π°Π΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ NumPy Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ , Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΠΏΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ (ΡΠ°Π±Π»ΠΈΡΡ, ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, ΡΠ΅ΠΊΡΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅) ΠΏΠ΅ΡΠ΅Π΄ ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΏΠΎΠ΄Π°ΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² NumPy
ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² NumPy (ΠΎΠ½ ΠΆΠ΅ ndarray), ΠΏΠ΅ΡΠ΅Π΄Π°Π² Π΅ΠΌΡ ΡΠΏΠΈΡΠΎΠΊ Python, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ np.array()
. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Python ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ², ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ΅ΡΠ΅Π΄ΠΊΠΈ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ NumPy ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π» Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π°.
ΠΡ ΡΠΎΠ±ΡΠ°Π»ΠΈ Π’ΠΠ ΠΠ½ΠΈΠ³ Π΄Π»Ρ Python ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π±ΡΡΡΡΠΎ ΠΈΠ·ΡΡΠΈΡΡ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python. Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠ½ΠΈΠ³: ΠΠ½ΠΈΠ³ΠΈ ΠΏΠΎ PythonΠΠ»Ρ ΡΡΠΎΠ³ΠΎ NumPy ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠ°ΠΊ ones()
, zeros()
ΠΈ random.random(). Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ:
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠΌΠΈ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π»ΡΠ±ΠΎΠΏΡΡΠ½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ.
ΠΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ NumPy
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄Π²Π° ΠΌΠ°ΡΡΠΈΠ²Π° NumPy ΠΈ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΠΌ Π²ΡΠ³ΠΎΠ΄Ρ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ°ΡΡΠΈΠ²Ρ Π±ΡΠ΄ΡΡ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ data
ΠΈ ones
:
ΠΡΠΈ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠ΄Π°. ΠΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ data + ones
:
ΠΠΎΠ²ΠΈΡΠΊΠ°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΉΡΠΈΡΡ ΠΏΠΎ Π΄ΡΡΠ΅ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΉ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π° Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ² for Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΠΌΠΈ. ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ½Π°Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π·Π°Π΄Π°ΡΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅.
ΠΠΎΠΌΠΈΠΌΠΎ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π·Π΄Π΅ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ΅ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ:
ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠ°ΠΊΡΡ-ΡΠΎ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ΠΈ ΠΏΡΠΎΡΡΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ. ΠΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΠΊΡΠΎΡΠΎΠΌ ΠΈ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠΉ Π²Π΅Π»ΠΈΡΠΈΠ½ΠΎΠΉ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π² ΠΌΠΈΠ»ΡΡ
, ΠΈ Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ Π² ΠΊΠΈΠ»ΠΎΠΌΠ΅ΡΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ data * 1.6
:
ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅, NumPy ΡΠ°ΠΌ ΠΏΠΎΠ½ΡΠ», ΡΡΠΎ ΡΠΌΠ½ΠΎΠΆΠΈΡΡ Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΏΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠ΅ΠΉ, ΠΈΠ»ΠΈ broadcating. Π’ΡΠ°Π½ΡΠ»ΡΡΠΈΡ Π±ΡΠ²Π°Π΅Ρ Π²Π΅ΡΡΠΌΠ° ΠΏΠΎΠ»Π΅Π·Π½Π°.
ΠΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° NumPy
ΠΠ°ΡΡΠΈΠ² NumPy ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π½Π° ΡΠ°ΡΡΠΈ ΠΈ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΈΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΡ. ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΡΠΎ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ Python.
ΠΠ³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² NumPy
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ NumPy ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π² Π½Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
Π€ΡΠ½ΠΊΡΠΈΡΠΌΠΈ min()
, max()
ΠΈ sum()
Π΄Π΅Π»ΠΎ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ.
Π ΠΏΡΠΈΠΌΠ΅ΡΡ:
mean()
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΠ΅Π΄Π½Π΅Π΅ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅;prod()
Π²ΡΠ΄Π°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²;std
Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΡΡΠ΅Π΄Π½Π΅ΠΊΠ²Π°Π΄ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ.
ΠΡΠΎ Π»ΠΈΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΎΠ±ΡΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΉ Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² NumPy.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠ΅ΠΉ NumPy
ΠΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠ°ΡΠ°ΡΡΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ. ΠΠ»Π°Π²Π½ΡΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ NumPy ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Π³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π»ΡΠ±ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠ΅ΠΉ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ NumPy Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ
Π‘ΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΎΡΠΌΠ΅ ΡΠΏΠΈΡΠΊΠΈ ΠΈΠ· ΡΠΏΠΈΡΠΊΠΎΠ² Python ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ NumPy. ΠΠ½ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ:
Π£ΠΏΠΎΠΌΡΠ½ΡΡΡΠ΅ ΡΠ°Π½Π΅Π΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ones()
, zeros()
ΠΈ random.random()
ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ, ΠΊΠ°ΠΊ ΡΠΎΠ³ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΠΌ ΠΊΠΎΡΡΠ΅ΠΆ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄ΡΡ ΡΠΊΠ°Π·Π°Π½Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ ΠΌΠ°ΡΡΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ.
ΠΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ NumPy
ΠΠ°ΡΡΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ ΠΈ ΡΠΌΠ½ΠΎΠΆΠ°ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² (+
-
*
/
). Π‘ΡΠΎΠΈΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΠΌΠ°ΡΡΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°. NumPy Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ:
ΠΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ ΡΠ°Π·Π½ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΌΠ°ΡΡΠΈΡ ΡΠ°Π²Π½ΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π² ΠΌΠ°ΡΡΠΈΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΡΠ΄. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ NumPy Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ:
dot() Π‘ΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ NumPy
ΠΠ»Π°Π²Π½ΠΎΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ Ρ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ Π·Π΄Π΅ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΌΠ°ΡΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅. Π NumPy ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ dot()
. ΠΠ½ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΊΠ°Π»ΡΡΠ½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ:
ΠΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Π²ΡΡΠ΅ ΠΏΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΈΠ³ΡΡΠΎΠΉ ΡΠΊΠ°Π·Π°Π½Π° Π΅Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ. ΠΡΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Ρ ΡΠ΅Π»ΡΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ ΠΎΠ±Π΅ΠΈΡ ΠΌΠ°ΡΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΡΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π³Π΄Π΅ ΠΎΠ½ΠΈ ΡΠΎΠΏΡΠΈΠΊΠ°ΡΠ°ΡΡΡΡ. ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π΄Π°Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ NumPy
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ:
ΠΠ³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ NumPy
ΠΠ³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π΅ΠΊΡΠΎΡΠΎΠ²:
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ axis
, ΠΌΠΎΠΆΠ½ΠΎ Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²Π½ΡΡΡΠΈ ΠΌΠ°ΡΡΠΈΡΡ, Π½ΠΎ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π° ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΡΠ΄Π°ΠΌΠΈ.
Π’ΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΌΡ ΠΌΠ°ΡΡΠΈΡ Π² numpy
ΠΠ΅ΡΠ΅Π΄ΠΊΠΈ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ²Π΅ΡΠ½ΡΡΡ ΠΌΠ°ΡΡΠΈΡΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π΄Π²ΡΡ
ΠΌΠ°ΡΡΠΈΡ. Π’ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π½Π°Π»ΠΈΡΠΈΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΡ
ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠ΅ΠΉ. Π£ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² NumPy Π΅ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ T
, ΡΡΠΎ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΡΡΠ΅Π±ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡΠΌΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ. ΠΡΠΎ ΡΠΈΠΏΠΈΡΠ½ΠΎ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΌ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ΠΌ, Π³Π΄Π΅ Π½Π΅ΠΊΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΎΡΠΌΡ Π²ΡΠ²ΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ»ΠΈΡΠ½ΠΎΠΉ ΠΎΡ ΡΠΎΡΠΌΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ
. Π ΡΠ°ΠΊΠΈΡ
ΡΠΈΡΡΠ°ΡΠΈΡΡ
ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ reshape()
ΠΈΠ· NumPy. ΠΠ΄Π΅ΡΡ ΠΎΡ Π²Π°Ρ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΡΡ. ΠΠ»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ -1
, ΠΈ NumPy Π²ΡΠ²Π΅Π΄Π΅Ρ Π΅Π΅ Π²Π΅ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΎΠΏΠΈΡΠ°ΡΡΡ Π½Π° Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ:
ΠΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠ΅ΠΉ NumPy
NumPy ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π²ΡΠ΅ Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠ΅ΠΉ. Π‘ΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ
, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ
ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎ, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ndarray
, ΠΈΠ»ΠΈ n-ΠΌΠ΅ΡΠ½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ.
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π·Π°ΠΏΡΡΡΡ ΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ NumPy:
ΠΠ° Π·Π°ΠΌΠ΅ΡΠΊΡ: Π‘ΡΠΎΠΈΡ ΠΈΠΌΠ΅ΡΡ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ 3-ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° NumPy ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π² Π²ΠΈΠ΄Π΅ ΡΠ΅ΠΊΡΡΠ°, Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΈΠ½Π°ΡΠ΅, Π½Π΅ΠΆΠ΅Π»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅. ΠΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΠ²ΠΎΠ΄Π° n-ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° NumPy ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ β ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΎΡΡ Π·Π°ΡΠΈΠΊΠ»ΠΈΠ²Π°Π΅ΡΡΡ Π±ΡΡΡΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π° ΠΏΠ΅ΡΠ²Π°Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π²ΡΠ²ΠΎΠ΄
np.ones((4,3,2))
Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄:
array([[[1., 1.], [1., 1.], [1., 1.]], [[1., 1.], [1., 1.], [1., 1.]], [[1., 1.], [1., 1.], [1., 1.]], [[1., 1.], [1., 1.], [1., 1.]]])
array([[[1., 1.], Β Β Β Β Β Β Β Β [1., 1.], Β Β Β Β Β Β Β Β [1., 1.]], Β Β Β Β Β Β Β [[1., 1.], Β Β Β Β Β Β Β Β [1., 1.], Β Β Β Β Β Β Β Β [1., 1.]], Β Β Β Β Β Β Β [[1., 1.], Β Β Β Β Β Β Β Β [1., 1.], Β Β Β Β Β Β Β Β [1., 1.]], Β Β Β Β Β Β Β [[1., 1.], Β Β Β Β Β Β Β Β [1., 1.], Β Β Β Β Β Β Β Β [1., 1.]]]) |
ΠΡΠΈΠΌΠ΅ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ NumPy
ΠΠΎΠ΄ΡΡΠΎΠΆΠΈΠΌ Π²ΡΠ΅ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅. ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² NumPy, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π°.
ΠΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΎΡΠΌΡΠ»Ρ NumPy
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΎΡΠΌΡΠ», ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ ΠΈ Π²Π΅ΠΊΡΠΎΡΠ°ΠΌΠΈ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ NumPy. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ NumPy ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡΡ ΡΡΠ΅Π΄ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»Π΅ΠΉ Π½Π°ΡΠΊΠΈ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΎΡΠΌΡΠ»Ρ ΡΡΠ΅Π΄Π½Π΅ΠΊΠ²Π°Π΄ΡΠ°ΡΠΈΡΠ½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠΉ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, ΡΡΠΎ ΡΠ΅ΡΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΈ:
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΡ ΡΠΎΡΠΌΡΠ»Ρ Π² NumPy Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ:
ΠΠ»Π°Π²Π½ΠΎΠ΅ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²ΠΎ NumPy Π² ΡΠΎΠΌ, ΡΡΠΎ Π΅Π³ΠΎ Π½Π΅ Π·Π°Π±ΠΎΡΠΈΡ, Π΅ΡΠ»ΠΈ predictions
ΠΈ labels
ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ ΡΡΡΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (Π΄ΠΎ ΡΠ΅Ρ
ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ ΠΎΠ±Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°). Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·ΡΡΠΈΠ² ΡΠ΅ΡΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π°:
Π£ ΠΎΠ±ΠΎΠΈΡ
Π²Π΅ΠΊΡΠΎΡΠΎΠ² predictions
ΠΈ labels
ΠΏΠΎ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ n
ΡΠ°Π²Π½ΠΎ ΡΡΠ΅ΠΌ. ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ Π²ΡΡΠΈΡΠ°Π½ΠΈΡ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΎΠ·Π²Π΅ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²Π΅ΠΊΡΠΎΡΠ° Π² ΠΊΠ²Π°Π΄ΡΠ°Ρ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π½Π΅ΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠ³Π½ΠΎΠ·Π° ΠΈ score
Π·Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ NumPy
ΠΠ°Π΄ΡΠΌΠ°ΠΉΡΠ΅ΡΡ ΠΎ Π²ΡΠ΅Ρ ΡΠ΅Ρ ΡΠΈΠΏΠ°Ρ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΎΠΏΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΠΎΠ·Π΄Π°Π²Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ°Π±ΠΎΡΡ (ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π°ΡΠ΄ΠΈΠΎ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅). ΠΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠΈΠΏΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΠΊΠ°ΠΊ n-ΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ:
Π’Π°Π±Π»ΠΈΡΡ NumPy β ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡ
Π’Π°Π±Π»ΠΈΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ. ΠΠ°ΠΆΠ΄ΡΠΉ Π»ΠΈΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ Π² Python ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ pandas.DataFrame
, ΡΡΠΎ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ NumPy ΠΈ ΡΡΡΠΎΠΈΡ ΠΏΠΎΠ²Π΅ΡΡ
Π½Π΅Π³ΠΎ.
ΠΡΠ΄ΠΈΠΎ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΄Ρ Π² NumPy
ΠΠΎ ΡΡΡΠΈ Π°ΡΠ΄ΠΈΠΎ ΡΠ°ΠΉΠ»Β β ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠ΅ΠΌΠΏΠ»ΠΎΠ². ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΠΌΠΏΠ» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΈΡΠ»ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΡΠΎΡΠ΅ΡΠ½ΡΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ² Π°ΡΠ΄ΠΈΠΎ ΡΠΈΠ³Π½Π°Π»Π°. ΠΡΠ΄ΠΈΠΎ CD-ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ 44 100 ΡΠ΅ΠΌΠΏΠ»ΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π»ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ -32767 ΠΈ 32768. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π΄Π΅ΡΡΡΠΈΡΠ΅ΠΊΡΠ½Π΄Π½ΡΠΉ WAVE-ΡΠ°ΠΉΠ» CD-ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² ΠΌΠ°ΡΡΠΈΠ² NumPy Π΄Π»ΠΈΠ½ΠΎΠΉ Π² 10 * 44 100 = 441 000 ΡΠ΅ΠΌΠΏΠ»ΠΎΠ².
Π₯ΠΎΡΠΈΡΠ΅ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΡΠ΅ΠΊΡΠ½Π΄Ρ Π°ΡΠ΄ΠΈΠΎ? ΠΡΠΎΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΠ°ΠΉΠ» Π² ΠΌΠ°ΡΡΠΈΠ² NumPy ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ audio
, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ audio[: 44100]
.
Π€ΡΠ°Π³ΠΌΠ΅Π½Ρ Π°ΡΠ΄ΠΈΠΎ ΡΠ°ΠΉΠ»Π° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΊΠ°ΡΠ°Π΅ΡΡΡ Π΄Π°Π½Π½ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΄ΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ Π°ΠΊΡΠΈΠΉ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ.
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² NumPy
ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ (Π²ΡΡΠΎΡΠ° Ρ ΡΠΈΡΠΈΠ½Π°).
ΠΡΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ½ΠΎ-Π±Π΅Π»ΠΎΠ΅, ΡΠΎ Π΅ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ΅ Π² ΠΏΠΎΠ»ΡΡΠΎΠ½Π°Ρ
, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΈΠΊΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ. ΠΠ±ΡΡΠ½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ 0 (ΡΠ΅ΡΠ½ΡΠΉ) ΠΈ 255 (Π±Π΅Π»ΡΠΉ). Π₯ΠΎΡΠΈΡΠ΅ ΠΎΠ±ΡΠ΅Π·Π°ΡΡ ΠΊΠ²Π°Π΄ΡΠ°Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 10 Ρ
10
ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ Π² Π²Π΅ΡΡ
Π½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΡΠ³Π»Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ? ΠΡΠΎΡΡΠΎ ΠΏΠΎΠΏΡΠΎΡΠΈΡΠ΅ Π² NumPy image[:10, :10]
.
ΠΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ:
ΠΡΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ½ΠΎΠ΅, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΈΠΊΡΠ΅Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΡΡΠ΅ΠΌΡ ΡΠΈΡΠ»Π°ΠΌΠΈ. ΠΠ΄Π΅ΡΡ Π·Π° ΠΎΡΠ½ΠΎΠ²Ρ Π±Π΅ΡΠ΅ΡΡΡ ΡΠ²Π΅ΡΠΎΠ²Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ RGB β ΠΊΡΠ°ΡΠ½ΡΠΉ (R), Π·Π΅Π»Π΅Π½ΡΠΉ (G) ΠΈ ΡΠΈΠ½ΠΈΠΉ (B).
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΡΠ΅ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΊΠ»Π΅ΡΠΊΠ° Π²ΠΌΠ΅ΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΡΠΈΡΠ»ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ²Π΅ΡΠ½Π°Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ndarray
Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡΠΌΠΈ: (Π²ΡΡΠΎΡΠ° Ρ
ΡΠΈΡΠΈΠ½Π° Ρ
3).
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ΅ΠΊΡΡΠ° Π² NumPy Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ
ΠΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎ ΡΠ΅ΠΊΡΡΠ°, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ. Π¦ΠΈΡΡΠΎΠ²ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΠ³ΠΎ python ΡΠ»ΠΎΠ²Π°ΡΡ, ΡΠΎ Π΅ΡΡΡ ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΡ Π²ΡΠ΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΡΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π»ΠΈΡΡ ΠΌΠΎΠ΄Π΅Π»ΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²Π΅ΠΊΡΠΎΡΠ½ΠΎΒ (embedding step). ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π² ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΡΠΎΡΠΌΠ΅ ΡΠΈΡΠ°ΡΡ ΠΈΠ· ΡΡΠΈΡ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈΡ Π°ΡΠ°Π±ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° ΠΠ½ΡΠ°ΡΠ° ΠΈΠ±Π½ Π¨Π°Π΄Π΄Π°Π΄Π°, ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Π½ΡΡ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ:
βHave the bards who preceded me left any theme unsung?βΒ
ΠΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠΌ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π½ΡΠΆΠ½ΡΡ ΡΠΈΡΡΠΎΠ²ΡΡ ΡΠΎΡΠΌΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΠΊΡΡΠ°. ΠΠ΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΠΉ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΈΠ· 71 290 ΡΠ»ΠΎΠ².
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·Π±ΠΈΡΠΎ Π½Π° ΠΌΠ°ΡΡΠΈΠ² ΡΠΎΠΊΠ΅Π½ΠΎΠ², ΡΡΠΎ Π±ΡΠ΄ΡΡ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΠ°ΡΡΡΠΌΠΈ ΡΠ»ΠΎΠ² Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΎΠ±ΡΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»:
ΠΠ°ΡΠ΅ΠΌ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΠ»ΠΎΠ²Π°ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° ΠΌΡ ΡΡΠ°Π²ΠΈΠΌ Π΅Π³ΠΎ id
:
ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π°Π½Π½ΡΠ΅ id
Π²ΡΠ΅ Π΅ΡΠ΅ Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠ°ΠΊ ΡΠ°ΠΊΠΎΠ²ΠΎΠΉ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ»ΠΎΠ² Π² ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠΎΠΊΠ΅Π½Ρ/ΡΠ»ΠΎΠ²Π° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ ΠΈΡ
Π²Π΅ΠΊΡΠΎΡΠ½ΡΠΌΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ 50-ΠΌΠ΅ΡΠ½ΠΎΠ΅ Π²Π΅ΠΊΡΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Word2vec.
ΠΠ΄Π΅ΡΡ ΡΡΠ½ΠΎ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Ρ ΠΌΠ°ΡΡΠΈΠ²Π° NumPy Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠ΅ΠΉ [embedding_dimension x sequence_length]
. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ Π²ΡΠ΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½Π°ΡΠ΅, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΄Π°Π½Π½ΠΎΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·ΡΡΡΠ½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠΈΡ
ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΡΠ°Π±ΠΎΡΡ.
ΠΠ»Ρ Π»ΡΡΡΠ΅ΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΡ
ΡΠ°Π½ΡΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ Π΄Π»Ρ ΠΏΠ°ΠΊΠ΅ΡΠ°. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π±ΡΡΡΡΠ΅Π΅, Π΅ΡΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΏΡΠΎΡ
ΠΎΠ΄ΡΡ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΊΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ. ΠΠ΄Π΅ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ Π±ΡΠ΄Π΅Ρ reshape()
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΊΠ°ΠΊ BERT, Π±ΡΠ΄Π΅Ρ ΠΎΠΆΠΈΠ΄Π°ΡΡ Π²Π²ΠΎΠ΄Π° Π² ΡΠΎΡΠΌΠ΅: [batch_size, sequence_length, embedding_size]
.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΡΠΎΠΌ, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Π΄Π΅Π»Π°ΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ Π²Π΅ΡΠΈ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΎΡΡΠ°Π»ΠΈΡΡ ΠΏΡΡΡΡΠΌΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ΅Π½ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΈΠ»ΠΈ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΠ³Π½ΠΎΠ·Ρ.
(ΠΠ° Π·Π°ΠΌΠ΅ΡΠΊΡ: ΠΠΎΡΠΌΠ°, ΡΡΡΠΎΡΠΊΡ ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΡΠ²Π΅ΠΊΠΎΠ²Π΅ΡΠΈΠ»Π° ΡΠ²ΠΎΠ΅Π³ΠΎ Π°Π²ΡΠΎΡΠ° Π² Π²Π΅ΠΊΠ°Ρ . ΠΡΠ΄ΡΡΠΈ Π½Π΅Π·Π°ΠΊΠΎΠ½Π½ΠΎΡΠΎΠΆΠ΄Π΅Π½Π½ΡΠΌ ΡΡΠ½ΠΎΠΌ Π³Π»Π°Π²Ρ ΠΏΠ»Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ ΡΠ°Π±ΡΠ½ΠΈ, ΠΠ½ΡΠ°ΡΠ° ΠΈΠ±Π½ Π¨Π°Π΄Π΄Π°Π½ ΠΌΠ°ΡΡΠ΅ΡΡΠΊΠΈ Π²Π»Π°Π΄Π΅Π» ΡΠ·ΡΠΊΠΎΠΌ ΠΏΠΎΡΠ·ΠΈΠΈ. ΠΠΎΠΊΡΡΠ³ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΠ³ΡΡΡ ΠΏΠΎΡΡΠ° ΡΠ»ΠΎΠΆΠΈΠ»ΠΈΡΡ ΠΌΠΈΡΡ ΠΈ Π»Π΅Π³Π΅Π½Π΄Ρ, Π° Π΅Π³ΠΎ ΡΡΠΈΡ ΠΈ ΡΡΠ°Π»ΠΈ ΡΠ°ΡΡΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π°ΡΠ°Π±ΡΠΊΠΎΠΉ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ).
python-scripts.com
array | NumPy
numpy.array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0)
Π€ΡΠ½ΠΊΡΠΈΡ array() ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ² NumPy.
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
- object — ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΎΠ±ΡΠ΅ΠΊΡ
- Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΠ»ΠΈ ΠΊΠΎΡΡΠ΅ΠΆ, Π° ΡΠ°ΠΊ ΠΆΠ΅ Π»Π±Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΠΈΠ΅ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ»ΠΈ ΠΊΠΎΡΡΠ΅ΠΆ.
- dtype — ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ NumPy (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ)
- ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°.
- copy — False ΠΈΠ»ΠΈ True (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ)
- ΠΡΠ»ΠΈ ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² True (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ), ΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡΡ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ: ΠΌΠ΅ΡΠΎΠ΄
__array__
ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠΏΠΈΡ, Π΅ΡΠ»ΠΈobject
ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ, Π΅ΡΠ»ΠΈ ΡΡΠ΅ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π° (dtype, order ΠΈ Ρ.Π΄.) - order — ‘K’, ‘A’, ‘C’ ΠΈΠ»ΠΈ ‘F’ (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ)
- ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Ρ
ΡΠ°Π½ΠΈΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ: ΡΡΡΠΎΡΠ½ΠΎΠΌ C-ΡΡΠΈΠ»Π΅ ΠΈΠ»ΠΈ ΡΡΠΎΠ»Π±ΡΠ°ΡΠΎΠΌ ΡΡΠΈΠ»Π΅ Fortran. ΠΡΠ»ΠΈ object Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ NumPy, ΡΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π±ΡΠ΄Π΅Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠΌ Π‘ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π΅ΡΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ»Π°Π³ ‘F’, ΡΠΎ Π±ΡΠ΄Π΅Ρ Ρ
ΡΠ°Π½ΠΈΡΡΡΡ Π² ΡΡΠΎΠ»Π±ΡΠ°ΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ‘Fortran’. ΠΡΠ»ΠΈ object — ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ² NumPy, ΡΠΎ ΡΠ»Π°Π³ ‘K’ Π»ΠΈΠ±ΠΎ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅Ρ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π»ΠΈΠ±ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΌΡΠΉ Π±Π»ΠΈΠ·ΠΊΠΈΠΉ ΠΏΠΎ ΡΡΡΡΠΊΡΡΡΠ΅; ΡΠ»Π°Π³ ‘A’ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ ΠΌΠ°ΠΊΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π² ‘F’ Π΅ΡΠ»ΠΈ ΠΌΠ°ΡΡΠΈΠ²
object
ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΌΠ΅ΠΆΠ½ΡΠΌ ΡΠΎ ΡΡΠΎΠ»Π±ΡΠ°ΡΡΠΌ ΡΡΠΈΠ»Π΅ΠΌ Fortran, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠ°ΠΊΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² ‘C’. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ»Π°Π³ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ‘K’. - subok- True ΠΈΠ»ΠΈ False (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ)
- ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ True (ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ΄ΡΠ°Π½ΠΈΡ Π² False), ΡΠΎ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ² Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΏ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π°
object
, Π΅ΡΠ»ΠΈ False ΡΠΎ ΡΠΈΠΏ ΠΌΠ°ΡΡΠΈΠ²Π° Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. - ndmin- ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ)
- ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅, ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΎ ΠΊ Π΅Π³ΠΎ ΡΠΎΡΠΌΠ΅ Π΄Π»Ρ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ.
- ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ:
- ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ — ΠΌΠ°ΡΡΠΈΠ² NumPy
- ΠΠ°ΡΡΠΈΠ² ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠΈΠΉ Π²ΡΠ΅ΠΌ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ order
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΏΠΎΡΡΠ΄ΠΎΠΊ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΠΏΠ°ΠΌΡΡΠΈ. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠΈΡΡΠ°ΡΠΈΡΡ
ΡΡΠΎΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ, ΡΡΠΎ Π² ΡΠ΅Π΄ΠΊΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π΅Π½ΠΈΠΈ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΠΎΡΡΠ΄ΠΎΠΊ ‘C’ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡΡ Π½Π° ΠΏΠΎΡΡΠ΄ΠΎΠΊ ‘F’:
>>> a = np.array([[1, 2], [1, 2]])
>>> a
array([[1, 2],
[1, 2]])
>>>
>>> b = a.T # ΠΡΠΈΡΠ²ΠΎΠΈΠΌ ΠΌΠ°ΡΡΠΈΠ²Ρ 'b' ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ 'a'
>>> b
array([[1, 1],
[2, 2]])
>>>
>>> # Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π² ΠΏΠ°ΠΌΡΡΠΈ
...
>>> a.flags
C_CONTIGUOUS : True
F_CONTIGUOUS : False
OWNDATA : True
WRITEABLE : True
ALIGNED : True
UPDATEIFCOPY : False
>>>
>>> b.flags
C_CONTIGUOUS : False
F_CONTIGUOUS : True
OWNDATA : False
WRITEABLE : True
ALIGNED : True
UPDATEIFCOPY : False
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ, ΠΌΠ°ΡΡΠΈΠ² a Π΄ΠΎ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π» C_CONTIGUOUS : True
ΠΈ F_CONTIGUOUS : False
Ρ.Π΅. Π±ΡΠ» ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ Π² C-ΡΡΠΈΠ»Π΅, ΠΏΠΎΡΠ»Π΅ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ½ ΡΠΌΠ΅Π½ΠΈΠ»ΡΡ Π½Π° ΡΡΠΈΠ»Ρ Fortran: C_CONTIGUOUS : False
ΠΈ F_CONTIGUOUS : True
.
ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ order
ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ‘A’ ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ object ΡΠΊΠ°Π·Π°Π½ ΠΌΠ°ΡΡΠΈΠ² Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠΌ ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ ΠΎΡ ‘F’ ΠΈΠ»ΠΈ ‘C’, ΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ² Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ ΡΠ»Π°Π³ ‘C’. Π ΡΠ΅Π΄ΠΊΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
ΡΡΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ.
ΠΡΠΈΠΌΠ΅ΡΡ
>>> import numpy as np
>>>
>>> np.array([1, 2, 3, 4, 5, 6, 7])
array([1, 2, 3, 4, 5, 6, 7])
>>>
>>>
>>> # ΠΡΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΡΠΎ Π²ΡΠ΅ ΠΎΠ½ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΡΡ ΠΊ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠ΅ΠΌΡ:
... np.array([1, 1, 2, 2, 3.14, 3.14])
array([ 1. , 1. , 2. , 2. , 3.14, 3.14])
>>>
>>> np.array([1+1j, 1+1j, 2, 2, 3.14, 3.14])
array([ 1.00+1.j, 1.00+1.j, 2.00+0.j, 2.00+0.j, 3.14+0.j, 3.14+0.j])
>>>
>>>
>>> np.array([[1, 2], [3, 4]]) # ΠΠ²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²
array([[1, 2],
[3, 4]])
>>> # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ΅Ρ
ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°
>>> np.array([[[1, 1], [2, 2]],
... [[3, 3], [4, 4]],
... [[5, 5], [6, 6]]])
array([[[1, 1],
[2, 2]],
[[3, 3],
[4, 4]],
[[5, 5],
[6, 6]]])
>>>
>>>
>>> # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ 2 ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ:
... a = np.array([1, 3, 5], ndmin = 2)
>>> a
array([[1, 3, 5]])
>>>
>>>
>>> # Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ
ΠΌΠ°ΡΡΠΈΠ²Π°:
... np.array([[1, 2], [3, 4]], dtype = complex)
array([[ 1.+0.j, 2.+0.j],
[ 3.+0.j, 4.+0.j]])
>>>
>>>
>>> # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°:
... y = np.array([(1, 1), (2, 4), (3, 9), (4, 16)], dtype = [('x','i2'),('f_x','f4')])
>>> y['x']
array([1, 2, 3, 4], dtype=int16)
>>> y['f_x']
array([ 1., 4., 9., 16.], dtype=float32)
>>>
>>>
>>> # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠΎΠ²:
... np.array(np.mat('1 1 1; 2 2 2; 3 3 3'))
array([[1, 1, 1],
[2, 2, 2],
[3, 3, 3]])
>>>
>>> np.array(np.mat('1 1 1; 2 2 2; 3 3 3'), subok = True)
matrix([[1, 1, 1],
[2, 2, 2],
[3, 3, 3]])
pyprog.pro
Numpy | Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ List: ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Python Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², Π½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠΈΡΠΊΠΈ Python.
ΠΡΠΈΠΌΠ΅Ρ :
ΠΎΠ±Ρ = [1, 2, 3, 4, 5] arr1 = ["Π³ΠΈΠΊΠΎΠ²", "Π΄Π»Ρ", "Π³ΠΈΠΊΠΎΠ²"]
# Python ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ # ΠΌΠ°ΡΡΠΈΠ² # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠ° ΠΎΠ±Ρ = [1, 2, 3, 4, 5] ΠΈΠ±ΠΎ Ρ Π² ΠΎΠ±Ρ: ΠΏΠ΅ΡΠ°ΡΡ (Ρ)
ΠΡΡ ΠΎΠ΄:
1 2 3 4 5
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ²Π°:
Π€ΡΠ½ΠΊΡΠΈΡ array (ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
, ΡΠΏΠΈΡΠΎΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΡΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½ΡΡ
ΠΈ ΡΠΏΠΈΡΠΊΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π² Π΅Π³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°Ρ
.
ΠΡΠΈΠΌΠ΅Ρ :
# Python-ΠΊΠΎΠ΄ Π΄Π»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ # array () # ΠΈΠΌΠΏΠΎΡΡ "ΠΌΠ°ΡΡΠΈΠ²Π°" Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² # ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° # ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ ΡΠ΅Π»ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ arr = array.array ('i', [1, 2, 3]) # ΠΏΠ΅ΡΠ°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° print ("ΠΠΎΠ²ΡΠΉ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²:", end = "") Π΄Π»Ρ i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (0,3): print (arr [i], end = "") ΠΏΠ΅ΡΠ°ΡΡ ("/ r")
ΠΡΡ ΠΎΠ΄:
ΠΠΎΠ²ΡΠΉ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²: 1 2 3 1 5
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ numpy ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²:
NumPy ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Ρ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΌ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π΅ΠΌ. ΠΡΠΎ ΡΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π²ΡΡΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², Π΄ΠΎΡΠΎΠ³ΠΎΡΡΠΎΡΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: np.zeros , np.empty ΠΈ Ρ. Π.
numpy.empty (shape, dtype = float, order = ‘C’) : Π²Π΅ΡΠ½ΡΡΡ Π½ΠΎΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΠΎΡΠΌΡ ΠΈ ΡΠΈΠΏΠ° ΡΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ.
# Python ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΡΡΠ΅Π΅ # numpy.empty ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ NumPy ΠΊΠ°ΠΊ ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΡΠΈΠΊ b = geek.empty (2, dtype = int) ΠΏΠ΅ΡΠ°ΡΡ ("ΠΠ°ΡΡΠΈΡΠ° b: / n", b) a = geek.empty ([2, 2], dtype = int) ΠΏΠ΅ΡΠ°ΡΡ ("/ nMatrix a: / n", a) c = geek.empty ([3, 3]) ΠΏΠ΅ΡΠ°ΡΡ ("/ nMatrix c: / n", c)
ΠΡΡ ΠΎΠ΄ :
ΠΠ°ΡΡΠΈΡΠ° Π±: [0 1079574528] ΠΠ°ΡΡΠΈΡΠ° Π°: [[0 0] [0 0]] ΠΠ°ΡΡΠΈΡΠ° Π°: [[0. 0. 0.] [0. 0. 0.] [0. 0. 0.]]
numpy.zeros (shape, dtype = None, order = ‘C’) : Π²Π΅ΡΠ½ΡΡΡ Π½ΠΎΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΠΎΡΠΌΡ ΠΈ ΡΠΈΠΏΠ° Ρ Π½ΡΠ»ΡΠΌΠΈ.
# ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Python, ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΡΡΠ°Ρ # numpy.zeros ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ NumPy ΠΊΠ°ΠΊ ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΡΠΈΠΊ b = geek.zeros (2, dtype = int) ΠΏΠ΅ΡΠ°ΡΡ ("ΠΠ°ΡΡΠΈΡΠ° b: / n", b) a = geek.zeros ([2, 2], dtype = int) ΠΏΠ΅ΡΠ°ΡΡ ("/ nMatrix a: / n", a) c = geek.zeros ([3, 3]) ΠΏΠ΅ΡΠ°ΡΡ ("/ nMatrix c: / n", c)
ΠΡΡ ΠΎΠ΄ :
ΠΠ°ΡΡΠΈΡΠ° Π±: [0 0] ΠΠ°ΡΡΠΈΡΠ° Π°: [[0 0] [0 0]] ΠΠ°ΡΡΠΈΡΠ° Ρ: [[0. 0. 0.] [0. 0. 0.] [0. 0. 0.]]
ΠΠ΅ΡΠ΅ΡΡΡΠΎΠΉΠΊΠ° ΠΌΠ°ΡΡΠΈΠ²Π°: ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ reshape
ΠΌΠ΅ΡΠΎΠ΄ , ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ². Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΌΠ°ΡΡΠΈΠ² Ρ ΡΠΎΡΠΌΠΎΠΉ (a1, a2, a3,β¦, aN). ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΅Π³ΠΎ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ² Ρ ΡΠΎΡΠΌΠΎΠΉ (b1, b2, b3,β¦, bM).
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅: a1 x a2 x a3β¦ x aN = b1 x b2 x b3β¦ x bM. (Ρ.Π΅. ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΎΡΡΠ°Π΅ΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌ.)
numpy.reshape (array, shape, order = ‘C’) : ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ² Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°.
# ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Python, ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΡΡΠ°Ρ # numpy.reshape () ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ NumPy ΠΊΠ°ΠΊ ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΡΠΈΠΊ array = geek.arange (8) ΠΏΠ΅ΡΠ°ΡΡ (Β«ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²: / nΒ», ΠΌΠ°ΡΡΠΈΠ²) # ΠΌΠ°ΡΡΠΈΠ² ΡΠΎΡΠΌΡ Ρ 2 ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΈ 4 ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ array = geek.arange (8) .reshape (2, 4) print ("/ narray, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΉ Ρ 2 ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΈ 4 ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ: / n", ΠΌΠ°ΡΡΠΈΠ²) # ΠΌΠ°ΡΡΠΈΠ² ΡΠΎΡΠΌΡ Ρ 2 ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΈ 4 ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ array = geek.arange (8) .reshape (4, 2) print ("/ narray, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΉ Ρ 2 ΡΡΠ΄Π°ΠΌΠΈ ΠΈ 4 ΡΡΠΎΠ»Π±ΡΠ°: / n ", ΠΌΠ°ΡΡΠΈΠ²) # Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ² 3D ΠΌΠ°ΡΡΠΈΠ² = geek.arange (8) .reshape (2, 2, 2) print (" / nΠΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ Π² 3D: / n ", ΠΌΠ°ΡΡΠΈΠ²)
ΠΡΡ ΠΎΠ΄ :
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²: [0 1 2 3 4 5 6 7] ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Ρ 2 ΡΡΠ΄Π°ΠΌΠΈ ΠΈ 4 ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ: [[0 1 2 3] [4 5 6 7]] ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Ρ 2 ΡΡΠ΄Π°ΠΌΠΈ ΠΈ 4 ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ: [[0 1] [2 3] [4 5] [6 7]] ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ Π² 3D: [[[0 1] [2 3]] [[4 5] [6 7]]]
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ ΡΠΈΡΠ΅Π» NumPy ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ²Ρ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠ².
arange Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π΅. ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°Π³Π° ΡΠΊΠ°Π·Π°Π½.
linspace Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π΅. Π½ΠΎΠΌΠ΅Ρ Π½Π΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ.
arange ([start,] stop [, step,] [, dtype]) : Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ² Ρ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠΌ. Π£ΠΏΠΎΠΌΡΠ½ΡΡΡΠΉ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π½Π°ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΠΎΡΠΊΡΡΡ, Ρ.Π΅. [Π‘ΡΠ°ΡΡ, Π‘ΡΠΎΠΏ)
# Python ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΡΡΠ΅Π΅ # numpy.arange ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ NumPy ΠΊΠ°ΠΊ ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΡΠΈΠΊ print ("A / n", geek.arange (4) .reshape (2, 2), "/ n") print ("A / n", geek.arange (4, 10), "/ n") print ("A / n", geek.arange (4, 20, 3), "/ n")
ΠΡΡ ΠΎΠ΄ :
[[0 1] [2 3]] [4 5 6 7 8 9] [4 7 10 13 16 19]
numpy.linspace (start, stop, num = 50, endpoint = True, retstep = False, dtype = None) : Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΠ±Π΅Π»Ρ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΠΏΠΎ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Ρ. ΠΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΠ°Π³Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½ΠΎΠΌΠ΅Ρ ΠΎΠ±ΡΠ°Π·ΡΠ°.
# Python ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΡΡΠ΅Π΅ # numpy.linspace ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ NumPy ΠΊΠ°ΠΊ ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΡΠΈΠΊ # restep ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² True print ("B / n", geek.linspace (2.0, 3.0, num = 5, retstep = True), "/ n") # Π§ΡΠΎΠ±Ρ ΠΎΡΠ΅Π½ΠΈΡΡ sin () Π½Π° Π±ΠΎΠ»ΡΡΠΎΠΌ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΈ x = geek.linspace (0, 2, 10) print ("A / n", geek.sin (x))
ΠΡΡ ΠΎΠ΄ :
Π (ΠΌΠ°ΡΡΠΈΠ² ([2., 2.25, 2.5, 2.75, 3.]), 0,25) [0. 0,22039774 0,42995636 0,6183698 0,77637192 0,8961922 0,9719379 0,9998386 0,9786557 0,90929743]
Π‘Π²Π΅ΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²: ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ³Π»Π°ΠΆΠΈΠ²Π°Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠΏΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠ²Π΅ΡΠ½ΡΡΠΎΠ³ΠΎ Π² ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΠ½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π·Π°ΠΊΠ°Π·Π°. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Β«CΒ» (Π΄Π»Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΡΠ΄Π° ΡΡΡΠΎΠΊ). ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ‘F’ Π΄Π»Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΡΡΠΎΠ»Π±ΡΠ°.
numpy.ndarray.flatten (order = ‘C’) : ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠΏΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠ²Π΅ΡΠ½ΡΡΠΎΠ³ΠΎ Π² ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅.
# ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Python, ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΡΡΠ°Ρ # numpy.flatten () ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ NumPy ΠΊΠ°ΠΊ ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΡΠΈΠΊ array = geek.array ([[1, 2], [3, 4]]) # ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅ΡΠΎΠ΄ flatten array.flatten () ΠΏΠ΅ΡΠ°ΡΡ (ΠΌΠ°ΡΡΠΈΠ²) #using ΡΠΎΠ»ΡΡΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ array.flatten ( 'F') ΠΏΠ΅ΡΠ°ΡΡ (ΠΌΠ°ΡΡΠΈΠ²)
ΠΡΡ ΠΎΠ΄ :
[1, 2, 3, 4] [1, 3, 2, 4]
ΠΠ΅ΡΠΎΠ΄Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π² Numpy
ΡΡΠ½ΠΊΡΠΈΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
ΠΏΡΡΡΠΎΠΉ () | ΠΠ΅ΡΠ½ΡΡΡ Π½ΠΎΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΠΎΡΠΌΡ ΠΈ ΡΠΈΠΏΠ° Π±Π΅Π· ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π·Π°ΠΏΠΈΡΠ΅ΠΉ |
empty_like () | ΠΠΎΠ·Π²ΡΠ°Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΡΠΎΠΉ ΠΆΠ΅ ΡΠΎΡΠΌΠΎΠΉ ΠΈ ΡΠΈΠΏΠΎΠΌ, ΡΡΠΎ ΠΈ Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°. |
Π³Π»Π°Π· () | ΠΠ΅ΡΠ½ΡΡΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΠΌΠΈ ΠΏΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ ΠΈ Π½ΡΠ»ΡΠΌΠΈ Π² Π΄ΡΡΠ³ΠΈΡ ΠΌΠ΅ΡΡΠ°Ρ . |
ΡΠΎΠΆΠ΄Π΅ΡΡΠ²ΠΎ () | ΠΠ΅ΡΠ½ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² |
ΠΈΠ· Π½ΠΈΡ () | ΠΠ΅ΡΠ½ΡΡΡ Π½ΠΎΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΠΎΡΠΌΡ ΠΈ ΡΠΈΠΏΠ°, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΉ |
ones_like () | ΠΠΎΠ·Π²ΡΠ°ΡΠΈΡΠ΅ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· ΡΠ΅Ρ ΠΆΠ΅ ΡΠΎΡΠΌΡ ΠΈ ΡΠΈΠΏΠ°, ΡΡΠΎ ΠΈ Π΄Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² |
ΠΡΠ»ΠΈ () | ΠΠ΅ΡΠ½ΡΡΡ Π½ΠΎΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΠΎΡΠΌΡ ΠΈ ΡΠΈΠΏΠ°, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΉ Π½ΡΠ»ΡΠΌΠΈ |
zeros_like () | ΠΠ΅ΡΠ½ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² Π½ΡΠ»Π΅ΠΉ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΡΠΎΡΠΌΠΎΠΉ ΠΈ ΡΠΈΠΏΠΎΠΌ, ΡΡΠΎ ΠΈ Π΄Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² |
full_like () | ΠΠ΅ΡΠ½ΡΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Ρ ΡΠΎΠΉ ΠΆΠ΅ ΡΠΎΡΠΌΠΎΠΉ ΠΈ ΡΠΈΠΏΠΎΠΌ, ΡΡΠΎ ΠΈ Π΄Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ². |
ΠΠ°ΡΡΠΈΠ² () | Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² |
asarray () | ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π²Π²ΠΎΠ΄ Π² ΠΌΠ°ΡΡΠΈΠ² |
asanyarray () | ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠΉΡΠ΅ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ndarray, Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΡ ndarray ΡΠ΅ΡΠ΅Π· |
ascontiguousarray () | ΠΠ΅ΡΠ½ΡΡΡ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π² ΠΏΠ°ΠΌΡΡΠΈ (ΠΏΠΎΡΡΠ΄ΠΎΠΊ C) |
asmatrix () | ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠ°ΠΊ ΠΌΠ°ΡΡΠΈΡΡ |
ΠΊΠΎΠΏΠΈΡ () | ΠΠ΅ΡΠ½ΡΡΡ ΠΊΠΎΠΏΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° |
frombuffer () | ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π±ΡΡΠ΅Ρ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² |
ΠΈΠ· ΡΠ°ΠΉΠ»Π°() | ΠΠΎΡΡΡΠΎΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· Π΄Π°Π½Π½ΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ |
fromfunction () | ΠΠΎΡΡΡΠΎΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ², Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΡΠ½ΠΊΡΠΈΡ Π½Π°Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΠΉ |
fromiter () | Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° |
fromstring () | ΠΠΎΠ²ΡΠΉ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ Π² ΡΡΡΠΎΠΊΠ΅ |
loadtxt () | ΠΠ°Π³ΡΡΠ·ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° |
arange () | ΠΠ΅ΡΠ½ΡΡΡ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π΅ |
LINSPACE () | ΠΠΎΠ·Π²ΡΠ°ΡΠΈΡΠ΅ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠΈΡΠ»Π° Π·Π° ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» |
logspace () | ΠΠΎΠ·Π²ΡΠ°ΡΠ°ΠΉΡΠ΅ ΡΠΈΡΠ»Π°, ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² Π»ΠΎΠ³Π°ΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΌΠ°ΡΡΡΠ°Π±Π΅ |
geomspace () | ΠΠ΅ΡΠ½ΡΡΡ ΡΠΈΡΠ»Π°, ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² Π»ΠΎΠ³Π°ΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΌΠ°ΡΡΡΠ°Π±Π΅ (Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΡ) |
meshgrid () | ΠΠ΅ΡΠ½ΡΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΡΡ ΠΈΠ· ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΡΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ² |
MGRID () | ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ nd_grid, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠ»ΠΎΡΠ½ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΡ ΡΠ΅ΡΠΊΡ |
ogrid () | ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ nd_grid, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΡΠΊΡΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΡ ΡΠ΅ΡΠΊΡ |
Diag () | ΠΠ·Π²Π»Π΅ΡΡ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Ρ ΠΈΠ»ΠΈ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² |
diagflat () | Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠΎ ΡΠ³Π»Π°ΠΆΠ΅Π½Π½ΡΠΌ Π²Ρ ΠΎΠ΄ΠΎΠΌ Π² Π²ΠΈΠ΄Π΅ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ |
ΡΡΠΈ () | ΠΠ°ΡΡΠΈΠ² Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΠΌΠΈ Π½Π° ΠΈ Π½ΠΈΠΆΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ ΠΈ Π½ΡΠ»ΡΠΌΠΈ Π² Π΄ΡΡΠ³ΠΈΡ ΠΌΠ΅ΡΡΠ°Ρ |
TRIL () | ΠΠΈΠΆΠ½ΠΈΠΉ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ ΠΌΠ°ΡΡΠΈΠ²Π° |
triu () | ΠΠ΅ΡΡ Π½ΠΈΠΉ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ ΠΌΠ°ΡΡΠΈΠ²Π° |
Vander () | ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΠ°Π½Π΄Π΅ΡΠΌΠΎΠ½Π΄Π° |
ΠΌΠ°Ρ() | ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠ°ΠΊ ΠΌΠ°ΡΡΠΈΡΡ |
BMAT () | ΠΠΎΡΡΡΠΎΠΈΡΡ ΠΌΠ°ΡΡΠΈΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ· ΡΡΡΠΎΠΊΠΈ, Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΠ»ΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° |
adsense2code6
espressocode.top
append | NumPy
numpy.append(a, values, axis=None)
Π€ΡΠ½ΠΊΡΠΈΡ append() Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΠΊΠΎΠ½Π΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π°.
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
- a — ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΎΠ±ΡΠ΅ΠΊΡ
- ΠΡΠ±ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ Π² ΠΌΠ°ΡΡΠΈΠ² NumPy. Π£ΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π±ΡΠ΄ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΠΊ ΠΊΠΎΠΏΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
- values — ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΎΠ±ΡΠ΅ΠΊΡ
- ΠΡΠ±ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ Π² ΠΌΠ°ΡΡΠΈΠ² NumPy, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊ a. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΡΠΆΠ΅ ΡΠΎΡΠΌΡ, ΡΡΠΎ ΠΈ a ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΎΡΡΠΌ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠΉ, Π²Π΄ΠΎΠ»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ axis Π½Π΅ ΡΠΊΠ°Π·Π°Π½ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠΎΡΠΌΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΡ ΡΠΆΠ°ΡΡ Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΡΠΈ ΠΏΠ΅ΡΠ΅Π΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ.
- axis — ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ)
- ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΎΡΡ, Π² ΠΊΠΎΠ½Π΅Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ axis = None, ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΆΠΈΠΌΠ°Π½ΠΈΡ a ΠΈ values Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΡΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΊ ΠΆΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°.
- ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ:
- ndarray — ΠΌΠ°ΡΡΠΈΠ² NumPy
- ΠΠΎΠΏΠΈΡ Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° a Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ values Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΎΡΠΈ.
ΠΡΠΈΠΌΠ΅ΡΡ
>>> import numpy as np
>>>
>>> a = np.array([1, 2, 3, 4])
>>>
>>> np.append(a, 0)
array([1, 2, 3, 4, 0])
>>>
>>> np.append(a, [5, 6, 7, 8, 9])
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
>>>
>>>
>>> b = np.array([[2, 3], [5, 7]])
>>>
>>> np.append(b, [[11, 13]], axis = 0)
array([[ 2, 3],
[ 5, 7],
[11, 13]])
>>>
>>> np.append(b, [[11, 13]], axis = 1) # ΠΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅
>>>
>>> # ΠΡΠΈΠ±ΠΊΠ° Π²ΡΠ·Π²Π°Π½Π° ΡΠ΅ΠΌ ΡΡΠΎ ΡΠΎΡΠΌΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ
... # ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΎΡΡΠΌ, ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠΉ, ΡΡΠΎ ΡΠΊΠ°Π·Π°Π½Π° Π² axis:
... b.shape, np.array([[11, 13]]).shape
((2, 2), (1, 2))
>>>
>>> np.append(b, [[11], [13]], axis = 1)
array([[ 2, 3, 11],
[ 5, 7, 13]])
>>>
>>> np.append(b, [[11, 17], [13, 19]], axis = 1)
array([[ 2, 3, 11, 17],
[ 5, 7, 13, 19]])
>>>
>>> np.append(b, [[11, 17, 23], [13, 19, 29]], axis = 1)
array([[ 2, 3, 11, 17, 23],
[ 5, 7, 13, 19, 29]])
pyprog.pro