Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π―Π·Ρ‹ΠΊ программирования PythonΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 23

Автор Π ΠΎΠΌΠ°Π½ Π‘ΡƒΠ·ΠΈ

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° ufunc ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊ массивам поэлСмСнтно. Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹:

accumulate() АккумулированиС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. outer() Π’Π½Π΅ΡˆΠ½Π΅Π΅ Β«ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅Β». reduce() Π‘ΠΎΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅. reduceat() Π‘ΠΎΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Π² Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡ΠΊΠ°Ρ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ add() позволяСт ΠΏΠΎΠ½ΡΡ‚ΡŒ смысл ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π΅Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:

>>> from Numeric import add

>>> add([[1, 2], [3, 4]], [[1, 0], [0, 1]])

array([[2, 2],

       [3, 5]])

>>> add([[1, 2], [3, 4]], [1, 0])

array([[2, 2],

       [4, 4]])

>>> add([[1, 2], [3, 4]], 1)

array([[2, 3],

       [4, 5]])

>>> add.reduce([1, 2, 3, 4])        # Ρ‚.Π΅. 1+2+3+4

10

>>> add.reduce([[1, 2], [3, 4]], 0) # Ρ‚.Π΅. [1+3 2+4]

array([4, 6])

>>> add.reduce([[1, 2], [3, 4]], 1) # Ρ‚.Π΅. [1+2 3+4]

array([3, 7])

>>> add.accumulate([1, 2, 3, 4])    # Ρ‚.Π΅. [1 1+2 1+2+3 1+2+3+4]

array([ 1, 3, 6, 10])

>>> add.reduceat(range(10), [0, 3, 6]) # Ρ‚.Π΅. [0+1+2 3+4+5 6+7+8+9]

array([ 3, 12, 30])

>>> add.outer([1,2], [3,4])         # Ρ‚.Π΅. [[1+3 1+4] [2+3 2+4]]

array([[4, 5],

       [5, 6]])

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ accumulate(), reduce() ΠΈ reduceat() ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ β€” Π½ΠΎΠΌΠ΅Ρ€ размСрности, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ для ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ дСйствия. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ примСняСтся нулСвая Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ.

Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π΄Π²ΡƒΡ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, для ΠΏΡ€ΠΈΠ΅ΠΌΠ° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’ΠΈΠΏ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ строго ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. НапримСр, функция sqrt() Π΄Π°ΠΆΠ΅ ΠΎΡ‚ Ρ†Π΅Π»Ρ‹Ρ… чисСл ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ Float.

>>> from Numeric import array, sqrt, Float

>>> a = array([0, 1, 2])

>>> r = array([0, 0, 0], Float)

>>> sqrt(a, r)

array([ 0. , 1. , 1.41421356])

>>> print r

[ 0. 1. 1.41421356]

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅:

НС слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° массив, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ этом Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ испорчСн. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚:

>>> import Numeric

>>> m = Numeric.array([0, 0, 0, 1, 0, 0, 0, 0])

>>> add(m[:-1], m[1:], m[1:])

array([0, 0, 1, 1, 1, 1, 1])

Π’ Ρ‚Π°ΠΊΠΈΡ… Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹Ρ… случаях Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ массив.


Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ модуля Numeric

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ модуля Numeric ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΉ записью Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сочСтаний Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:

Ѐункция Аналог Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sum(a, axis) add.reduce(a, axis) cumsum(a, axis) add.accumulate(a, axis) product(a, axis) multiply.reduce(a, axis) cumproduct(a, axis) multiply.accumulate(a, axis) alltrue(a, axis) logical_and.reduce(a, axis) sometrue(a, axis) logical_or.reduce(a, axis) ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ axis ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ. 

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΉ достаточно ΠΌΠ½ΠΎΠ³ΠΎ, поэтому ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π΅ ΠΈΠ· Π½ΠΈΡ…, Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ свСдСны Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.

Ѐункция Numeric.take()

Ѐункция Numeric.take() позволяСт Π²Π·ΡΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ массива ΠΏΠΎ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΈ индСксам. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½ΠΎΠΌΠ΅Ρ€ измСрСния (Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚) Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ.

>>> import Numeric

>>> a = Numeric.reshape(Numeric.arrayrange(25), (5, 5))

>>> print a

[[ 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]]

>>> print Numeric.take(a, [1], 0)

[ [5 6 7 8 9]]

>>> print Numeric.take(a, [1], 1)

[[ 1]

 [ 6]

 [11]

 [16]

 [21]]

>>> print Numeric.take(a, [[1,2],[3,4]])

[[[ 5  6  7  8  9]

  [10 11 12 13 14]]

 [[15 16 17 18 19]

  [20 21 22 23 24]]]

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ срСза, функция Numeric.take() сохраняСт Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива, Ссли ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, структура Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… индСксов ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Π°. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Numeric.take(a, [[1,2],[3,4]]) ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ взятыС ΠΏΠΎ индСксам части ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² массив со структурой самих индСксов, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ вмСсто 1 Π±Ρ‹Π»ΠΎ написано [5 6 7 8 9], Π° вмСсто 2 β€” [10 11 12 13 14] ΠΈ Ρ‚.Π΄.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Numeric.diagonal() ΠΈ Numeric.trace()

Ѐункция Numeric.diagonal() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ диагональ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. Она ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹:

a Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ массив. offset Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π²ΠΏΡ€Π°Π²ΠΎ ΠΎΡ‚ Β«Π³Π»Π°Π²Π½ΠΎΠΉΒ» Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 0). axis1 ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΈΠ· ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… бСрСтся диагональ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 0). axis2 Π’Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅, ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰Π΅Π΅ вмСстС с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈ бСрСтся диагональ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ axis2=1.

Ѐункция Numeric.trace() (для вычислСния слСда ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹) ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π΅ ΠΆΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, Π½ΠΎ суммируСт элСмСнты Π½Π° Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅ рассмотрСны ΠΎΠ±Π΅ эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

>>> import Numeric

>>> a = Numeric.reshape(Numeric.arrayrange(16), (4, 4))

>>> print a

[[ 0  1  2  3]

 [ 4  5  6  7]

 [ 8  9 10 11]

 [12 13 14 15]]

>>> for i in range(-3, 4):

... print "Sum", Numeric.diagonal(a, i), "=", Numeric.trace(a, i)

...

Sum [12] = 12

Sum [ 8 13] = 21

Sum [ 4  9 14] = 27

Sum [ 0  5 10 15] = 30

Sum [ 1  6 11] = 18

Sum [ 2  7] = 9

Sum [ 3] = 3

Ѐункция Numeric.choose()

Π­Ρ‚Π° функция ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠ΄ΠΈΠ½ массив с Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами ΠΎΡ‚ 0 Π΄ΠΎ n для Π²Ρ‹Π±ΠΎΡ€Π° значСния ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… массивов:

>>> a = Numeric.identity(4)

>>> b0 = Numeric.reshape(Numeric.arrayrange(16), (4, 4))

>>> b1 = -Numeric.reshape(Numeric.arrayrange(16), (4, 4))

>>> print Numeric.choose(a, (b0, b1))

[[  0  1   2   3]

 [  4 -5   6   7]

 [  8  9 -10  11]

 [ 12 13  14 -15]]

Π‘Π²ΠΎΠ΄ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ модуля Numeric

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ описания Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ модуля Numeric.

Ѐункция ΠΈ Π΅Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ НазначСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ allclose(a, b[, eps[, A]]) Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ a ΠΈ b с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ eps ΠΈ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΌΠΈ A ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡΠΌΠΈ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ eps Ρ€Π°Π²Π΅Π½ 1.0e–1, Π° A = 1.0e–8. alltrue(a[, axis]) ЛогичСскоС И ΠΏΠΎ всСй оси axis массива a argmax(a[, axis]) ИндСкс максимального значСния Π² массивС ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡŽ axis argmin(a[, axis]) ИндСкс минимального значСния Π² массивС ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡŽ axis argsort(a[, axis]) Π˜Π½Π΄Π΅ΠΊΡΡ‹ отсортированного массива, Ρ‚Π°ΠΊΠΈΠ΅, Ρ‡Ρ‚ΠΎ take(a, argsort(a, axis), axis) Π΄Π°Π΅Ρ‚ отсортированный массив a, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ Π±Ρ‹Π»ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ sort(a, axis) array(a[, type]) Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ массива Π½Π° основС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ a Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° type arrayrange(start[, stop[, step[, type]]]) Аналог range() для массивов asarray(a[, type[, savespace]]) Π’ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ array(), Π½ΠΎ Π½Π΅ создаСт Π½ΠΎΠ²Ρ‹ΠΉ массив, Ссли a ΡƒΠΆΠ΅ являСтся массивом choose(a, (b0, ..., bn)) Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ массив Π½Π° основС элСмСнтов, взятых ΠΏΠΎ индСксам ΠΈΠ· a (индСксы ΠΎΡ‚ 0 Π΄ΠΎ n Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ). Π€ΠΎΡ€ΠΌΡ‹ массивов a, b1, …, bn Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ clip(a, a_min, a_max) ΠžΠ±Ρ€ΡƒΠ±Π°Π΅Ρ‚ значСния массива a Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ значСниями ΠΈΠ· a_min ΠΈ a_max поэлСмСнтно compress(cond, a[, axis]) Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Ρ‚Π΅Ρ… элСмСнтов массива a, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… условиС cond истинно (Π½Π΅ Π½ΡƒΠ»ΡŒ) concatenate(a[, axis]) Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… массивов (конкатСнация) ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡŽ axis (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ β€” ΠΏΠΎ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ) convolve(a, b[, mode]) Π‘Π²Π΅Ρ€Ρ‚ΠΊΠ° Π΄Π²ΡƒΡ… массивов. АргумСнт mode ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния 0, 1 ΠΈΠ»ΠΈ 2 cross_correlate(a, b[, mode]) Взаимная коррСляция Π΄Π²ΡƒΡ… массивов. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ mode ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния 0, 1 ΠΈΠ»ΠΈ 2 cumproduct(a[, axis]) ΠŸΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡŽ axis массива a с ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΌΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ cumsum(a[, axis]) Π‘ΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΌΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ diagonal(a[, k[, axis1[, axis2]]]) ВзятиС k–й Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ массива a Π² плоскости ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ axis1 ΠΈ axis2 dot(a, b) Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ (ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠ΅) ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ массивов. По ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ: innerproduct(a, swapaxes(b, -1, -2)), Ρ‚.Π΅. с пСрСставлСнными послСдними измСрСниями, ΠΊΠ°ΠΊ ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ† dump(obj, file) Π—Π°ΠΏΠΈΡΡŒ массива a (Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅) Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ file. Π€Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Π² Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Π’ Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ нСсколько ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² подряд dumps(obj) Π‘Ρ‚Ρ€ΠΎΠΊΠ° с Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ прСдставлСниСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° obj fromfunction(f, dims) Π‘Ρ‚Ρ€ΠΎΠΈΡ‚ массив, получая ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ f(), Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ значСния ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° индСксов. ЀактичСски являСтся сокращСниСм для f(*tuple(indices(dims))) fromstring(s[, count[, type]]) Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ массива Π½Π° основС Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, хранящихся Π² строкС identity(n) Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Ρ„ΠΎΡ€ΠΌΡ‹ (n, n) indices(dims[, type]) Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив индСксов Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡŽ с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ измСнСнию. НапримСр, indices([2, 2])[1] Π΄Π°Π΅Ρ‚ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив [[0, 1], [0, 1]]. innerproduct(a, b) Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… массивов (ΠΏΠΎ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡŽ). Для ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ a.shape[-1] Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π΅Π½ b.shape[-1]. Π€ΠΎΡ€ΠΌΠ° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ a.shape[:-1] + b.shape[:-1]. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΡ€ΠΎΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ измСрСния ΠΏΠΎΠΏΠ°Ρ€Π½ΠΎ ΡƒΠΌΠ½ΠΎΠΆΠ°ΡŽΡ‚ΡΡ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ΡΡ произвСдСния ΡΡƒΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ load(file) Π§Ρ‚Π΅Π½ΠΈΠ΅ массива ΠΈΠ· Ρ„Π°ΠΉΠ»Π° file. Π€Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Π² Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ loads(s) Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌΡƒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ, Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ Π² строкС nonzero(a) Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСксы Π½Π΅Π½ΡƒΠ»Π΅Π²Ρ‹Ρ… элСмСнтов ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива ones(shape[, type]) Массив ΠΈΠ· Π΅Π΄ΠΈΠ½ΠΈΡ† Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ shape ΠΈ обозначСния Ρ‚ΠΈΠΏΠ° type outerproduct(a, b) Π’Π½Π΅ΡˆΠ½Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ a ΠΈ b product(a[, axis]) ΠŸΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡŽ axis массива a put(a, indices, b) ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ частям массива, a[n] = b[n] для всСх индСксов indices putmask(a, mask, b) ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ a элСмСнтов ΠΈΠ· b, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… маска mask ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ истина ravel(a) ΠŸΡ€Π΅Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ массива Π² ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ. Аналогично reshape(a, (-1,)) repeat(a, n[, axis]) ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡΠ΅Ρ‚ элСмСнты массива a n Ρ€Π°Π· ΠΏΠΎ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡŽ axis reshape(a, shape) Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив Π½ΡƒΠΆΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ (Π½ΠΎΠ²ΠΎΠ³ΠΎ массива Π½Π΅ создаСт). ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ элСмСнтов Π² исходном ΠΈ Π½ΠΎΠ²ΠΎΠΌ массивах Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ resize(a, shape) Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ shape. Π Π°Π·ΠΌΠ΅Ρ€ исходного массива Π½Π΅ Π²Π°ΠΆΠ΅Π½ searchsorted(a, i) Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта ΠΈΠ· i Π½Π°ΠΉΡ‚ΠΈ мСсто Π² массивС a. Массив a Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ ΠΈ отсортированным. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΡƒ массива i shape(a) Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΡƒ массива a sometrue(a[, axis]) ЛогичСскоС Π˜Π›Π˜ ΠΏΠΎ всСму ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡŽ axis массива a sort(a[, axis]) Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° элСмСнтов массива ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡŽ sum(a[, axis]) Π‘ΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡŽ axis массива a swapaxes(a, axis1, axis1) Π‘ΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ (частный случай транспонирования) take(a, indices[, axis]) Π’Ρ‹Π±ΠΎΡ€ частСй массива a Π½Π° основС индСксов indices ΠΏΠΎ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡŽ axis trace(a[, k[, axis1[, axis2]]]) Π‘ΡƒΠΌΠΌΠ° элСмСнтов вдоль Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ add.reduce(diagonal(a, k, axis1, axis2)) transpose(a[, axes]) ΠŸΠ΅Ρ€Π΅ΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ Π² соотвСтствии с axes, Π»ΠΈΠ±ΠΎ, Ссли axes Π½Π΅ Π·Π°Π΄Π°Π½Ρ‹ β€” располоТСниС ΠΈΡ… Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС where(cond, a1, a2) Π’Ρ‹Π±ΠΎΡ€ элСмСнтов Π½Π° основании условия cond ΠΈΠ· a1 (Ссли Π½Π΅ Π½ΡƒΠ»ΡŒ) ΠΈ a2 (ΠΏΡ€ΠΈ Π½ΡƒΠ»Π΅) поэлСмСнтно. РавносилСн choose(not_equal(cond, 0), (y, x)). Π€ΠΎΡ€ΠΌΡ‹ массивов–аргумСнтов a1 ΠΈ a2 Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ zeros(shape[, type]) Массив ΠΈΠ· Π½ΡƒΠ»Π΅ΠΉ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ shape ΠΈ обозначСния Ρ‚ΠΈΠΏΠ° type

Π’ этой Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π² качСствС обозначСния Ρ‚ΠΈΠΏΠ° type ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ рассмотрСнныС Π²Ρ‹ΡˆΠ΅ константы: Int, Float ΠΈ Ρ‚.ΠΏ.