Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ndarray ΠΈ array Π² numpy?



Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ndarray ΠΈ array Π² Numpy? И Π³Π΄Π΅ я ΠΌΠΎΠ³Ρƒ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² исходном ΠΊΠΎΠ΄Π΅ numpy?

python arrays numpy multidimensional-array numpy-ndarray
ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ flxb Β  Β  08 апрСля 2013 Π² 12:41

5 ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²


  • Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ dtype= ΠΈ .astype() Π² numpy?

    ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ numpy ndarrays с float32 вмСсто float64 . Edit: Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ контСкст-Π― обСспокоСн Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ numpy выполняСт эти Π²Ρ‹Π·ΠΎΠ²Ρ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ распространСния Π² Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΠΎΠΉ сСти. Π― Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΅Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»Π°…

  • Π² Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ сСриСй/dataframe ΠΈ ndarray?

    Leaving that they are from two different binaries. Π― знаю, Ρ‡Ρ‚ΠΎ series/dataframe ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ любой Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ ndarray Ρ‚Π°ΠΊΠΆΠ΅ являСтся Π³Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

    А Ρ‚Π°ΠΊΠΆΠ΅ всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Ρ€Π΅Π·ΠΊΠΈ numpy ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ ΠΊ сСриям. Π•ΡΡ‚ΡŒ Π»ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π΅Ρ‰Π΅ какая-Ρ‚ΠΎ Ρ€Π°Π·Π½ΠΈΡ†Π°?



229

numpy.array -это просто удобная функция для создания ndarray ; это Π½Π΅ сам класс.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ массив с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ numpy.ndarray,Π½ΠΎ это Π½Π΅ рСкомСндуСтся. Π‘ строкой Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΎΡ‚ numpy.ndarray :

ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ построСны с использованиСм array, zeros

ΠΈΠ»ΠΈ empty … ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ здСсь ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ относятся ΠΊ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΌΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ ( ndarray(...) ) для создания экзСмпляра массива.

Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ мяса Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ находится Π² ΠΊΠΎΠ΄Π΅ C, здСсь Π² multiarray , Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° интСрфСйсы ndarray здСсь:

https://github.com/numpy/numpy/blob/master/numpy/core/numeric.py

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ wim Β  Β  08 апрСля 2013 Π² 12:51



50

numpy. array -это функция, которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚

numpy.ndarray . НСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° numpy.array.

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ RamΓ³n J Romero y Vigil Β  Β  08 апрСля 2013 Π² 12:46



33

ВсСго нСсколько строк ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ numpy.array ΠΈ numpy.ndarray

Π¨Π°Π³ Ρ€Π°Π·ΠΌΠΈΠ½ΠΊΠΈ: ΡΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ список

a = [1,2,3]

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ‚ΠΈΠΏ

print(type(a))

Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅

<class 'list'>

ΠŸΠΎΡΡ‚Ρ€ΠΎΠΉΡ‚Π΅ массив (ΠΈΠ· списка) с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ np.array

a = np.array(a)

Или, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ шаг Ρ€Π°Π·ΠΌΠΈΠ½ΠΊΠΈ, нСпосрСдствСнно ΠΈΠΌΠ΅Ρ‚ΡŒ

a = np.array([1,2,3])

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ‚ΠΈΠΏ

print(type(a))

Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅

<class 'numpy. ndarray'>

Ρ‡Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π²Π°ΠΌ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ массива numpy — это numpy.ndarray

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΏΠΎ

isinstance(a, (np.ndarray))

ΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅

True

Π›ΡŽΠ±Π°Ρ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π΄Π²ΡƒΡ… строк выдаст Π²Π°ΠΌ сообщСниС ΠΎΠ± ошибкС

np.ndarray(a)                # should be np.array(a)
isinstance(a, (np.array))    # should be isinstance(a, (np.ndarray))

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Ying Β  Β  21 дСкабря 2017 Π² 03:25


  • Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Array (0) ΠΈ array = []

    Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ созданиСм массива с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Array (0) ΠΈ array = []? Насколько ΠΌΠ½Π΅ извСстно, ΠΎΠ±Π° ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ пустыми ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ массива. array >>> [] Array(0) >>> [] Но ΠΊΠΎΠ³Π΄Π° я ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽ ΠΈΡ…, ΠΎΠ½ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ‘false’. var array = [] array === Array(0) >>> false Π§Ρ‚ΠΎ здСсь…

  • Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ «import numpy as np» ΠΈ «from numpy import array»?

    ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° я создаю массивы Π² Numpy, я просто дСлаю это import numpy as np Какая Ρ€Π°Π·Π½ΠΈΡ†Π°, Ссли я это сдСлаю?- from numpy import array



5

numpy. ndarray() -это класс, Π° numpy.array() -это ΠΌΠ΅Ρ‚ΠΎΠ΄ / функция для создания ndarray .

Π’ numpy docs Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ массив ΠΈΠ· класса ndarray , Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это двумя способами, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…:

1-ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² array(), zeros() ΠΈΠ»ΠΈ empty() :

ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ построСны с использованиСм массива, Π½ΡƒΠ»Π΅ΠΉ ΠΈΠ»ΠΈ пустых (см. Π’Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π΄Π΅Π» Π½ΠΈΠΆΠ΅). ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ здСсь ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ относятся ΠΊ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΌΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ ( ndarray(…) ) для создания экзСмпляра массива.

2-нСпосрСдствСнно ΠΈΠ· класса ndarray : БущСствуСт Π΄Π²Π° способа создания массива с использованиСм __new__ : Если Π±ΡƒΡ„Π΅Ρ€ отсутствуСт, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ shape, dtype ΠΈ order. Если buffer-это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ интСрфСйс buffer, Ρ‚ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ всС ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄Π°Π΅Ρ‚ случайный массив, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ Π½Π°Π·Π½Π°Ρ‡ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€Π°:

np.
ndarray(shape=(2,2), dtype=float, order='F', buffer=None) array([[ -1.13698227e+002, 4.25087011e-303], [ 2.88528414e-306, 3.27025015e-309]]) #random

Π”Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ являСтся Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° array для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° buffer:

>>> np.ndarray((2,), buffer=np.array([1,2,3]),
...            offset=np.int_().itemsize,
...            dtype=int) # offset = 1*itemsize, i.e. skip first element
array([2, 3])

ΠΈΠ· ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΡ‹ Π·Π°ΠΌΠ΅Ρ‡Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ список «buffer», ΠΈ Π½Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ numpy.array() для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ndarray для Π±ΡƒΡ„Π΅Ρ€Π°

Π’Ρ‹Π²ΠΎΠ΄: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ numpy.array() , Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ numpy.ndarray() «

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Mahmoud Elshahat Β  Β  23 сСнтября 2018 Π² 16:02



0

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ с np. array() Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ C, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ Π²Ρ‹ упомянули порядок, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ провСряСтС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ np.isfortran() , ΠΎΠ½ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ лоТь. Π½ΠΎ с np.ndarrray() , ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ Π·Π°ΠΊΠ°Π·, ΠΎΠ½ создаСт Π΅Π³ΠΎ Π½Π° основС прСдоставлСнного Π·Π°ΠΊΠ°Π·Π°.

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Sujith Rao Β  Β  30 августа 2018 Π² 20:09


ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ вопросы:


Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ IEnumerable ΠΈ Array, IList ΠΈ List?

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ IEnumerable ΠΈ Array ? Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ IList ΠΈ List ? Они, ΠΏΠΎΡ…ΠΎΠΆΠ΅, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.


Как ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ndarray ΠΈΠ· массива numpy? python

Π― Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² ndarray Π² numpy, я ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π» http:/ / docs.scipy.org/doc/numpy / reference/generated/numpy.ndarray.html, Π½ΠΎ ΠΎΠ½ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π» ΠΌΠ½Π΅, ΠΊΠ°ΠΊ я ΠΌΠΎΠ³Ρƒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ свои Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅…


Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ функциями Numpy array() ΠΈ asarray()?

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ функциями Numpy array() ΠΈ asarray() ? Когда Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½, Π° Π½Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠΉ? Они, каТСтся, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ΠΉ Π²Ρ‹Ρ…ΠΎΠ΄ для всСх Π²Ρ…ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я ΠΌΠΎΠ³Ρƒ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ.


Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ dtype= ΠΈ .astype() Π² numpy?

ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ numpy ndarrays с float32 вмСсто float64 . Edit: Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ контСкст-Π― обСспокоСн Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ numpy выполняСт эти Π²Ρ‹Π·ΠΎΠ²Ρ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ…


Π² Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ сСриСй/dataframe ΠΈ ndarray?

Leaving that they are from two different binaries. Π― знаю, Ρ‡Ρ‚ΠΎ series/dataframe ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ любой Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ ndarray Ρ‚Π°ΠΊΠΆΠ΅ являСтся Π³Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. А Ρ‚Π°ΠΊΠΆΠ΅ всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Ρ€Π΅Π·ΠΊΠΈ numpy…


Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Array (0) ΠΈ array = []

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ созданиСм массива с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Array (0) ΠΈ array = []? Насколько ΠΌΠ½Π΅ извСстно, ΠΎΠ±Π° ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ пустыми ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ массива. array >>> [] Array(0) >>> [] Но ΠΊΠΎΠ³Π΄Π° я…


Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ «import numpy as np» ΠΈ «from numpy import array»?

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° я создаю массивы Π² Numpy, я просто дСлаю это import numpy as np Какая Ρ€Π°Π·Π½ΠΈΡ†Π°, Ссли я это сдСлаю?- from numpy import array


Numpy Ρ„ΠΎΡ€ΠΌΠ° ndarray с 3 ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ

Π― смущСн Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠ° ndarray, ΠΊΠΎΠ³Π΄Π° прСдусмотрСны 3 ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°: НапримСр, Π² Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ: np.

zeros((2, 1, 3)) array([[[ 0., 0., 0.]], [[ 0., 0., 0.]]]) ΠΈ: np.zeros((1, 2, 3)) array([[[…


Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ numpy ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ ndarray?

ΠŸΡ€ΠΈ использовании numpy часто ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· numpy API ΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· ndarray , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: >>> import numpy as np >>> array_ = np.array([True, False,…


Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ array ([array ([]), array ([])]) ΠΈ array([[],[]])?

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ этими двумя массивами numpy? array([array([1,2,3]),array([4,5,6])]) ΠΈ array([[1,2,3],[4,5,6]]) Как ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅?

Автостопом ΠΏΠΎ Python NumPy Arrays

Π”Π°Ρ‚Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Aug 3, 2018

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ python для Π½Π°ΡƒΠΊΠΈ ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…, Π»ΠΈΠ±ΠΎ Π²Ρ‹ использовали NumPy, Π»ΠΈΠ±ΠΎ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ, ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ ΠΎΠ± этом. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ статистичСского Π°Π½Π°Π»ΠΈΠ·Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Numpy.

ΠœΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π΄Π°Π½Ρ‹ вопросы, ΠΏΠΎΡ‡Π΅ΠΌΡƒ NumPy? Π Π°Π·Π²Π΅ списки Python ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ структуры Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ самоС?

Ну Π΄Π° ΠΈ Π½Π΅Ρ‚, Π² NumPy Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ нСльзя Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ списков Python ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Ρ€ΡƒΠ³ΠΈΡ… структур Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ΄Π½Π°ΠΊΠΎ NumPy обСспСчиваСт эффСктивноС Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π»ΡƒΡ‡ΡˆΠΈΠΉ способ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… для матСматичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с использованиСм простых API, Ρ‡Ρ‚ΠΎ являСтся прСимущСством ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ вСс, ΠΏΠΈΡˆΡƒΡ‰ΠΈΠΉ свой собствСнный.

NumPy обСспСчиваСт эффСктивноС Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π»ΡƒΡ‡ΡˆΠΈΠ΅ способы ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… для матСматичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ

NumPy ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для созданиягомогСнныйn-ΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы (n = 1..n). Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ списков Python, всС элСмСнты массива NumPy Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. поэтому ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ нСдСйствитСлСн, Ссли ΡƒΠΊΠ°Π·Π°Π½ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…

numpy_arr = np.array([1,2,"Hello",3,"World"], dtype=np.int32)  # Error

Однако для списков Python это ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄

py_arr = [1,2,"Hello",3,"World"]  # Valid Code

ΠœΠ°ΡΡΠΈΠ²Ρ‹ NumPy ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ для создания ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Ρ… массивов с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ матСматичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ с Π½ΠΈΠΌΠΈ. Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ с Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ прСимущСства Π΄Π°Π΅Ρ‚ Π½Π°ΠΌ NumPy ΠΈ ΠΊΠ°ΠΊ это ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Π½Π°ΡˆΡƒ Тизнь программирования, особСнно Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ связаны с матСматичСскими вычислСниями.

1. NumPy ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ мСньшС памяти для хранСния Π΄Π°Π½Π½Ρ‹Ρ…

NumPyмассивы Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ мСньшС памяти ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ со списками Python. Он Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ указания Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… содСрТимого, Ρ‡Ρ‚ΠΎ позволяСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄.

НапримСр, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ простой массив ΠΈΠ· ΡˆΠ΅ΡΡ‚ΠΈ элСмСнтов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ список Python, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡnumpy.array(...)Π Π°Π·Π½ΠΈΡ†Π° Π² количСствС занятой памяти вСсьма ΠΏΠΎΡ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Π°. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅

Если эта Ρ€Π°Π·Π½ΠΈΡ†Π° каТСтся ΠΏΡƒΠ³Π°ΡŽΡ‰Π΅ΠΉ, Ρ‚ΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²ΡŒΡ‚Π΅ΡΡŒ ΠΈΠΌΠ΅Ρ‚ΡŒ большС. МоТно Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ массивов NumPy, Ссли ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ максимальноС количСство ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ ΠΈΠΌΠ΅Ρ‚ΡŒ.

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ NumPy ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ считаСт эти числа8 BytesΡ†Π΅Π»Ρ‹Π΅ числа, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… с массивами NumPy, Ссли ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ1 ByteΡ†Π΅Π»ΠΎΠ΅ число для хранСния чисСл Π΄ΠΎ255Π° Ρ‚Π°ΠΊΠΆΠ΅2 BytesΡ†Π΅Π»ΠΎΠ΅ число для чисСл Π΄ΠΎ65535

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ распрСдСлСниС памяти Π½Π΅ ограничиваСтся сохранСниСм чисСл, ΠΎΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ распространяСтся Π½Π° Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ строк. Однако, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ массивы NumPy Π² основном ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для матСматичСских вычислСний, строка Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π΅Π΄ΠΊΠΎ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π½Π°Ρ‚ΡŒ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π»ΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅

Аналогично, массивы NumPy ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ экономию ΠΏΡ€ΠΈ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ прСимущСства памяти NumPy, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ пониманию Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½Π° позволяСт Π½Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы


2. ИспользованиС NumPy для создания массивов n-измСрСния

Массив n-размСрности ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈΠ»ΠΈ Ρ‚Π΅Π½Π·ΠΎΡ€ΠΎΠ², ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅, Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, для Ρ†Π΅Π»Π΅ΠΉ матСматичСского расчСта. По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ массивами n-Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² списка Python, NumPy Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ экономит использованиС памяти, Π½ΠΎ ΠΈ прСдоставляСт Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ количСство Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… прСимущСств, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰ΠΈΡ… матСматичСскиС вычислСния.

Π’ΠΎΡ‚ список Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с n-ΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами NumPy, Ρ‡Ρ‚ΠΎ ΠΈΠ½Π°Ρ‡Π΅ слоТно ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.


Π Π°Π·ΠΌΠ΅Ρ€Ρ‹ массива ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ Π²ΠΎ врСмя выполнСния, Ссли коэффициСнт кратности Π΄Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ количСство элСмСнтов. НапримСр, ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ 2 * 5 ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² 5 * 2, Π° 1 * 4 — Π² 2 * 2. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π²Ρ‹Π·Π²Π°Π² NumPy..reshape(...)функция Π½Π° массивах


NumPy Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ чисСл для массива. ΠŸΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ чисСл с шагами (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ дСсятичныС шаги ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан с использованиСмnumpy.arange(...)функция. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ всСгда Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ чисСл с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ΠΌ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ reshape для этого Π²Ρ‹Π²ΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π½Π°ΡˆΠ΅ΠΌΡƒ Π²Ρ‹Π±ΠΎΡ€Ρƒ.


NumPy прСдоставляСт API для создания массивов n-ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ с использованиСм ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ… Π΅Π΄ΠΈΠ½ΠΈΡ† ΠΈ Π½ΡƒΠ»Π΅ΠΉ, Π³Π΄Π΅ всС Ρ‡Π»Π΅Π½Ρ‹ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Ρ€Π°Π²Π½Ρ‹ Π½ΡƒΠ»ΡŽ ΠΈΠ»ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅. Одним ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ вСроятных Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования этого являСтся созданиС Ρ€Π°Π·Ρ€Π΅ΠΆΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΏΠ»ΠΎΡ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ для машинного обучСния.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ NumPy ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒfloat64Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… для создания Π΅Π΄ΠΈΠ½ΠΈΡ† ΠΈ Π½ΡƒΠ»Π΅ΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Π½Π° Ρ†Π΅Π»ΠΎΠ΅ число с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽdtypeΠ²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅


Как.reshape(x,y)ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ массив Π² ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив ΠΈΠ· любого любого ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.ravel()


3. ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° NumPy n-ΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивах

Как ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΎΡΡŒ Ρ€Π°Π½Π΅Π΅, NumPy — это Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ эффСктивноС Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ ΠΈ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ простоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ матСматичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Π½ΠΈΠΌ. Π›ΡŽΠ±Ρ‹Π΅ дСйствия Π½Π°Π΄ массивами n-ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ Π²Π΅Π΄ΡƒΡ‚ сСбя Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

NumPy n-ΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Π½ΠΈΠΌ.

Π­Ρ‚ΠΎ основной USP NumPy, ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ½ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² сообщСствС Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Бписки Python Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. НапримСр, рассмотрим ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ списка ΠΏΠΈΡ‚ΠΎΠ½ΠΎΠ² Π½Π° 2. Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ

py_arr = [1,2,3] * 2
# Generates [1,2,3,1,2,3]

ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ пустой массив ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Π²Ρ‹Π²ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт массива умноТаСтся Π½Π° 2

np_arr = np.array([1,2,3]) * 2
# Generates [2,4,6]

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ массивами-ΠΏΡƒΡΡ‚Ρ‹ΡˆΠΊΠ°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ слоТСниС, Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠ΅

np_arr = np.array([1,2,3]) + 2
# Generates [3,4,5]

ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊ ΠΆΠ΅ просты, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΄Π²Π° числа

np_arr1 = np.array([[1,2,3],[4,5,6]])
np_arr2 = np.array([[1,2,3],[4,5,6]])np_arr3 = np_arr1 * np_arr2
#Generates
# [[ 1 4 9]
# [16 25 36]]np_arr3 = np_arr1 + np_arr2
#Generates
# [[ 2 4 6]
# [ 8 10 12]]

ВстроСнныС матСматичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ NumPy Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π°ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ слоТныС матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ sqrt, mean ΠΈ median.

np.sqrt(np_arr1)
#generates
# [1. 1.41421356 1.73205081]
# [2. 2.23606798 2.44948974]]np.mean(np_arr1) #generates 3.5
np.median(np_arr1) #generates 3.5

Π•ΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-Ρ‡Π»Π΅Π½Ρ‹ для получСния Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ массивах, Π² Ρ‚ΠΎΠΌ числС sum, min ΠΈ max.

np_arr1.sum()  # 21
np_arr1.min() # 1
np_arr1.max() # 6

4. Поиск элСмСнтов Π² массивС NumPy

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π±ΡƒΠ΄ΡƒΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· доступного Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…. Π₯отя NumPy прСдоставляСт нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅, Ρ‚Ρ€ΠΈ ΠΈΠ· Π½ΠΈΡ… Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‡Π°Ρ‰Π΅, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Они Π΅ΡΡ‚ΡŒwhere, nonzeroΠ° Ρ‚Π°ΠΊΠΆΠ΅count_nonzero

WhereΠ° Ρ‚Π°ΠΊΠΆΠ΅nonzeroΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс, связанный с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ True. Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€

np_arr = np.array([1,2,0,4,5])
find = np.where(np_arr > 2)
#returns [3,4]

Π° Ρ‚Π°ΠΊΠΆΠ΅

np_arr = np. array([1,2,0,4,5])
find = np.nonzero(np_arr)
# return [0,1,3,4]

И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство Π½Π΅Π½ΡƒΠ»Π΅Π²Ρ‹Ρ… элСмСнтов Π² массивС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽcount_nonzero(...)функция

n_arr = np.array([1,2,3,0,3,0,2,0,0,2])
np.count_nonzero(n_arr)
# returns 6

Π­Ρ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Π² Ρ‚Π°ΠΊΠΈΡ… случаях, ΠΊΠ°ΠΊ вычислСниС разрСТСнности ΠΈΠ»ΠΈ плотности ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

ПослСдний ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ своС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ, — это Π½Π°ΠΉΡ‚ΠΈ Ρ„ΠΎΡ€ΠΌΡƒ массива NumPy. Π­Ρ‚ΠΎ дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ.shape, НапримСр

n_arr = np.array([1,2,3,0,3,0,2,0,0,2])
n_arr.shape
# Generates => (10,)
n_arr = np.array([[1,2],[3,0]])
# Generates => (2,2)

5. Π—Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ мысли

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ NumPy. Π₯отя ΠΈ Π½Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ, Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π°Ρ‚ΡŒ достаточноС прСдставлСниС ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ NumPy ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ.

Π­Ρ‚ΠΎ всС для этого ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ поста. ΠŸΡ€ΠΈΠ΄ΡƒΠΌΠ°Π΅ΠΌ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π½Π°Π±ΠΎΡ€ интСрСсных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ NumPy Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ постС

Бпасибо Π·Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ …!!!

Π”Π°ΠΊΡˆ

ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Π°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ

4 ΠΏΡ€ΠΈΠ΅ΠΌΠ° Python NumPy, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ

NumPy являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых популярных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π²Β Python, ΠΈ, учитывая Π΅Π΅ прСимущСства,Β ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ программист Python использовал Π΄Π°Π½Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для арифмСтичСских вычислСний. ΠœΠ°ΡΡΠΈΠ²Ρ‹ Numpy Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹, Ρ‡Π΅ΠΌ списки Python. Π­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ эффСктивным Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ способом.Β 

Помогая ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ ΠΈ Π΄Ρ€ΡƒΠ·ΡŒΡΠΌ с трудностями Π² NumPy, ΠΌΡ‹ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊ 4 ΠΏΡ€ΠΈΠ΅ΠΌΠ°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Python. Π­Ρ‚ΠΈ Ρ„ΠΈΡˆΠΊΠΈ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½Ρ‹Π΅ ΠΈ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Π΅ ΠΊΠΎΠ΄Ρ‹.Β 

1. Arg-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ

Для массива Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΒ arr, np.argmax(arr), np.argmin(arr) ΠΈ np.argwhere(condition(arr)) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ условиям ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ соотвСтствСнно. Π₯отя эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ arg ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, ΠΌΡ‹ часто ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ np.argsort(), Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΡƒΡŽ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ массив.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ np.argsort для сортировки Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ массивов ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ массиву. НиТС прСдставлСн примСр сортировки ΠΈΠΌΠ΅Π½ студСнтов с использованиСм ΠΈΡ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² экзамСна. ΠžΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ массив ΠΈΠΌΠ΅Π½ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² исходный порядок, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ np.argsort(np.argsort(score)).

1. score = np.array([70, 60, 50, 10, 90, 40, 80])
2. name = np.array(['Ada', 'Ben', 'Charlie', 'Danny', 'Eden', 'Fanny', 'George'])
3. sorted_name = name[np.argsort(score)] # an array of names in ascending order of their scores
4. print(sorted_name) # ['Danny' 'Fanny' 'Charlie' 'Ben' 'Ada' 'George' 'Eden']
5.
6. original_name = sorted_name[np.argsort(np.argsort(score))]
7. print(original_name) # ['Ada' 'Ben' 'Charlie' 'Danny' 'Eden' 'Fanny' 'George']
8.
9.
10. %timeit name[np.argsort(score)]
11. # 1.83 Β΅s Β± 182 ns per loop (mean Β± std. dev. of 7 runs, 100000 loops each)
12. %timeit sorted(zip(score, name))
13. # 3.2 Β΅s Β± 76.7 ns per loop (mean Β± std. dev. of 7 runs, 100000 loops each)

Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹ΡˆΠ΅, Π½Π΅ΠΆΠ΅Π»ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ использования встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Python sorted(zip()). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½Π°, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Π°.

2. Бродкастинг β€” Ρ„ΠΎΡ€ΠΌΡ‹

Бродкастинг — это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ numpy ΠΌΠΎΠ³ ΡƒΠΆΠ΅ нСвольно ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. МногиС арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ numpy ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊ ΠΏΠ°Ρ€Π°ΠΌ массивов одинаковой формы для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта. Бродкастинг Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с массивами бСз создания Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ эффСктивной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈ Π±ΠΎΠ»Π΅Π΅ высокой читаСмости ΠΊΠΎΠ΄Π°.

НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ всСх Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² массивС Π½Π° 1, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ arr + 1 нСзависимо ΠΎΡ‚ измСрСния arr. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, всС Π»ΠΈ значСния Π² массивС большС, Ρ‡Π΅ΠΌ 2, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ arr > 2.

Но ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ, совмСстимы Π»ΠΈ Π΄Π²Π° массива с бродкастинг?

Argument 1 (4D array): 7 Γ— 5 Γ— 3 Γ— 1
Argument 2 (3D array): 1 Γ— 3 Γ— 9
Output (4D array): 7 Γ— 5 Γ— 3 Γ— 9

Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ массива Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ Ρ€Π°Π²Π½ΠΎ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡŽ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ массива, Π»ΠΈΠ±ΠΎΒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π½ΠΈΡ… Ρ€Π°Π²Π½ΠΎ 1. ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ количСство ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎ продСмонстрировано Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅.

3. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ellipsis ΠΈ NewAxis

Бинтаксис для Π½Π°Ρ€Π΅Π·ΠΊΠΈ массива numpy — это i:jΒ Π³Π΄Π΅Β i, jΒ — Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ индСкс ΠΈ индСкс остановки соотвСтствСнно. НапримСр, для массива numpy arr = np.array(range(10)) ΠΊΠΎΠΌΠ°Π½Π΄Π° arr[:3] Π΄Π°Π΅Ρ‚ [0, 1, 2].Β 

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с массивами с Π±ΠΎΠ»Π΅Π΅ высокими размСрностями ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΒ  :  для Π²Ρ‹Π±ΠΎΡ€Π° индСкса ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ оси. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ … для Π²Ρ‹Π±ΠΎΡ€Π° индСксов ΠΏΠΎ нСскольким осям. Π’ΠΎΡ‡Π½ΠΎΠ΅ количСство осСй выводится.Β 

1. arr = np.array(range(1000)).reshape(2,5,2,10,-1)
2. print(arr[:,:,:,3,2] == arr[...,3,2])
3. # [[[ True, True],
4. # [ True, True],
5. # [ True, True],
6. # [ True, True],
7. # [ True, True]],
8. # [[ True, True],
9. # [ True, True],
10. # [ True, True],
11. # [ True, True],
12. # [ True, True]]])
13.
14. print(arr.shape) # (2, 5, 2, 10, 5)
15. print(arr[...,np.newaxis,:,:,:].shape) # (2, 5, 1, 2, 10, 5)

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, использованиС, np. newaxis,Β ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅, вставляСт Π½ΠΎΠ²ΡƒΡŽ ось в Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ оси. Π­Ρ‚Π° опСрация Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ Ρ„ΠΎΡ€ΠΌΡƒ массива Π½Π° ΠΎΠ΄Π½Ρƒ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ измСрСния. Π₯отя это Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ np.expand_dims(), использованиС np.newaxis Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎ ΠΈ, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, изящно.Β 

4. Замаскированный массив — сСлСкция

Наборы Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹. Они всСгда содСрТат массивы с ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΈΠ»ΠΈ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΌΠΈ записями, ΠΈ ΠΌΡ‹ часто Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эти элСмСнты. НапримСр, измСрСния Π½Π° мСтСостанции ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ значСния ΠΈΠ·-Π·Π° сбоя Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°.

Π£ Numpy Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΡŒΒ numpy.ma, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ массивы данных с масками. ΠœΠ°ΡΠΊΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ массив содСрТит ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ массив numpy ΠΈ маску, которая указываСт ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ нСдопустимых записСй.Β 

np.ma.MaskedArray(data=arr, mask=invalid_mask)

НСдопустимыС записи Π² массивС ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ с использованиСм ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ строк. Если ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ замаскированноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, скаТСм -999, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ замаскированный массив, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ np. ma.masked_values(arr, value=-999). Π›ΡŽΠ±Π°Ρ опСрация numpy, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π°Ρ замаскированный массив Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, автоматичСски ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ эти Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ записи, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

1. import math
2. def is_prime(n):
3. assert n > 1, 'Input must be larger than 1'
4. if n % 2 == 0 and n > 2:
5. return False
6. return all(n % i for i in range(3, int(math.sqrt(n)) + 1, 2))
7.
8. arr = np.array(range(2,100))
9. non_prime_mask = [not is_prime(n) for n in a]
10. prime_arr = np.ma.MaskedArray(data=arr, mask=non_prime_mask)
11. print(prime_arr)
12. # [2 3 -- 5 -- 7 -- -- -- 11 -- 13 -- -- -- 17 -- 19 -- -- -- 23 -- -- -- --
13. # -- 29 -- 31 -- -- -- -- -- 37 -- -- -- 41 -- 43 -- -- -- 47 -- -- -- --
14. # -- 53 -- -- -- -- -- 59 -- 61 -- -- -- -- -- 67 -- -- -- 71 -- 73 -- --
15. # -- -- -- 79 -- -- -- 83 -- -- -- -- -- 89 -- -- -- -- -- -- -- 97 -- --]
16.
17. arr = np.array(range(11))
18. print(arr.sum()) # 55
19.
20. arr[-1] = -999 # indicates missing value
21. masked_arr = np.ma.masked_values(arr, -999)
22. print(masked_arr.sum()) # 45
23.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠœΠ°ΡΡΠΈΠ²Ρ‹ Ndarray для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Основной элСмСнт Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ NumPy β€” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ndarray (Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ N-Ρ€Π°Π·ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив). Π­Ρ‚ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ являСтся ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹ΠΌ массивом с Π·Π°Ρ€Π°Π½Π΅Π΅ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ количСством элСмСнтов. ΠžΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹ΠΉ β€” ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ практичСски всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² Π½Π΅ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏΠ°. На самом Π΄Π΅Π»Π΅, Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ NumPy, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся dtype (Ρ‚ΠΈΠΏ-Π΄Π°Π½Π½Ρ‹Ρ…). ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ndarray ассоциирован Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΠ΄Π½ΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ dtype.

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ размСрностСй ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² массива ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒΡŽ (shape), ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΌ N-ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… чисСл. Они ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ размСрности. РазмСрности ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ оси, Π° количСство осСй β€” ΠΊΠ°ΠΊ Ρ€Π°Π½Π³.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΡΡ‚Ρ€Π°Π½Π½ΠΎΡΡ‚ΡŒ массивов NumPy Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ фиксирован, Π° это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ послС создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΅Π³ΠΎ ΡƒΠΆΠ΅ нСльзя ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ. Π­Ρ‚ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ отличаСтся ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Ρƒ списков Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ….

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ способ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ndarray β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ array(), ΠΏΠ΅Ρ€Π΅Π΄Π°Π² Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Python-список элСмСнтов.

>>> a = np.array([1, 2, 3]) 
>>> a 
array([1, 2, 3])

МоТно Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ β€” это ndarray, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ type().

>>> type(a)
<type 'numpy.ndarray'>

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ ассоциированный Ρ‚ΠΈΠΏ dtype, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ dtype.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ dtype, shape ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΌ для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм ΠΈ дистрибутивов Python.

>>> a.dtype 
dtype('int64')

Волько Ρ‡Ρ‚ΠΎ созданный массив ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ ось, Π° Π΅Π³ΠΎ Ρ€Π°Π½Π³ равняСтся 1, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠ° β€” (3,1). Для получСния этих Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ· массива Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹: ndim β€” для осСй, size β€” для Π΄Π»ΠΈΠ½Ρ‹ массива, shape β€” для Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΡ‹.

>>> a.ndim
1
>>> a.size
3
>>> a.shape
(3,)

Π­Ρ‚ΠΎ Π±Ρ‹Π» ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π³ΠΎ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива. Но Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ массивов ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π° ΠΈ Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… размСрностСй. НапримСр, ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива 2Γ—2:

>>> b = np.array([[1.3, 2.4],[0.3, 4.1]])
>>> b.dtype
dtype('float64')
>>> b.ndim
2
>>> b.size
4
>>> b.shape
(2, 2)

Π Π°Π½Π³ этого массива β€” 2, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ Π½Π΅Π³ΠΎ 2 оси, Π΄Π»ΠΈΠ½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚Π°ΠΊΠΆΠ΅ равняСтся 2.

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π²Π°ΠΆΠ½Ρ‹ΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ β€” itemsize. Он ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ndarray. Он опрСдСляСт Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта массива Π² Π±Π°ΠΉΡ‚Π°Ρ…, Π° data β€” это Π±ΡƒΡ„Π΅Ρ€, содСрТащий всС элСмСнты массива. Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ для получСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· массива примСняСтся ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ индСксов, Ρ€Π΅Ρ‡ΡŒ ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ….

>>> b.itemsize
8
>>> b.data
<read-write buffer for 0x0000000002D34DF0, size 32, offset 0 at
0x0000000002D5FEA0>

БозданиС массива

Π•ΡΡ‚ΡŒ нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² создания массива. Π‘Π°ΠΌΡ‹ΠΉ распространСнный β€” список ΠΈΠ· списков, Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ array().

>>> c = np.array([[1, 2, 3],[4, 5, 6]])
>>> c
array([[1, 2, 3],
       [4, 5, 6]])

Ѐункция array() Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ.

>>> d = np.array(((1, 2, 3),(4, 5, 6)))
>>> d
array([[1, 2, 3],
       [4, 5, 6]])

Она Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΈ взаимосвязанных списков.

>>> e = np. array([(1, 2, 3), [4, 5, 6], (7, 8, 9)])
>>> e
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Пока Ρ‡Ρ‚ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π»ΠΈΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ значСния простого Ρ†Π΅Π»ΠΎΠ³ΠΎ числа ΠΈ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, Π½ΠΎ массивы NumPy сдСланы Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ самыС Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ строки:

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ NumPy

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
boolΠ‘ΡƒΠ»Π΅Π²Ρ‹ значСния (True ΠΈΠ»ΠΈ False) хранятся Π² Π²ΠΈΠ΄Π΅ Π±Π°ΠΉΡ‚ΠΎΠ²
intΠ’ΠΈΠΏ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ β€” Ρ†Π΅Π»ΠΎΠ΅ число (Ρ‚ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ long Π² C; ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ int64 ΠΈΠ»ΠΈ int32)
intcΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ΠΉ int Π² C (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ int32 ΠΈΠ»ΠΈ int64)
intpΠ¦Π΅Π»ΠΎΠ΅ число для использования Π² качСствС индСксов (Ρ‚ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ size_t Π² C, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ int32 ΠΈΠ»ΠΈ int64)
int8Π‘Π°ΠΉΡ‚ (ΠΎΡ‚ β€” 128 Π΄ΠΎ 127)
int16Π¦Π΅Π»ΠΎΠ΅ число (ΠΎΡ‚ -32768 Π΄ΠΎ 32767)
int32Π¦Π΅Π»ΠΎΠ΅ число (ΠΎΡ‚ -2147483648 Π΄ΠΎ 2147483647)
int64Π¦Π΅Π»ΠΎΠ΅ число (ΠΎΡ‚ -9223372036854775808 Π΄ΠΎ 9223372036854775807)
uint8Π¦Π΅Π»ΠΎΠ΅ число Π±Π΅Π· Π·Π½Π°ΠΊΠ° (ΠΎΡ‚ 0 Π΄ΠΎ 255)
uint16Π¦Π΅Π»ΠΎΠ΅ число Π±Π΅Π· Π·Π½Π°ΠΊΠ° (ΠΎΡ‚ 0 Π΄ΠΎ 65535)
uint32Π¦Π΅Π»ΠΎΠ΅ число Π±Π΅Π· Π·Π½Π°ΠΊΠ° (ΠΎΡ‚ 0 Π΄ΠΎ 4294967295)
uint64Π¦Π΅Π»ΠΎΠ΅ число Π±Π΅Π· Π·Π½Π°ΠΊΠ° (ΠΎΡ‚ 0 Π΄ΠΎ 18446744073709551615)
floatΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ float64
float16Число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π½ΠΎΠΉ точности; Π±ΠΈΡ‚ Π½Π° Π·Π½Π°ΠΊ, 5-битная экспонСнта, 10-битная мантисса
float32Число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ точности; Π±ΠΈΡ‚ Π½Π° Π·Π½Π°ΠΊ, 8-битная экспонСнта, 23-битная мантисса
float64Число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности; Π±ΠΈΡ‚ Π½Π° Π·Π½Π°ΠΊ, 11-битная экспонСнта, 52-битная мантисса
complexΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ complex128
complex64КомплСксноС число, прСдставлСнноС двумя 32-Π±ΠΈΡ‚Π½Ρ‹ΠΌΠΈ float (с Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈ ΠΌΠ½ΠΈΠΌΠΎΠΉ частями)
complex128КомплСксноС число, прСдставлСнноС двумя 64-Π±ΠΈΡ‚Π½Ρ‹ΠΌΠΈ float (с Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈ ΠΌΠ½ΠΈΠΌΠΎΠΉ частями)

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ dtype

Ѐункция array() Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ndarray ассоциирован с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ dtype, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΌ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π² массивС. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ функция array() ΠΌΠΎΠΆΠ½ΠΎ Π°ΡΡΠΎΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ самый подходящий Ρ‚ΠΈΠΏ Π² соотвСтствии со значСниями Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΡ… списков ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ явно с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° dtype Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°.

НапримСр, Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ массив с комплСксными числами Π² качСствС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ dtype ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

>>> f = np.array([[1, 2, 3],[4, 5, 6]], dtype=complex)
>>> f
array([[ 1.+0.j, 2.+0.j, 3.+0.j],
       [ 4.+0.j, 5.+0.j, 6.+0.j]])

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ массива

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° NumPy прСдоставляСт Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ndarray с Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ содСрТимым. Они ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ с Ρ€Π°Π·Π½Ρ‹ΠΌ значСниями Π² зависимости ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ полСзная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ всСго ΠΎΠ΄Π½ΠΎΠΉ строки ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ большой объСм Π΄Π°Π½Π½Ρ‹Ρ….

Ѐункция zeros(), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, создаСт ΠΏΠΎΠ»Π½Ρ‹ΠΉ массив Π½ΡƒΠ»Π΅ΠΉ с размСрностями, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ shape. НапримСр, для создания Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива 3Γ—3, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ:

>>> np.zeros((3, 3))
array([[ 0., 0., 0.],
       [ 0., 0., 0.],
       [ 0., 0., 0.]])

А функция ones() создаСт массив, состоящий ΠΈΠ· Π΅Π΄ΠΈΠ½ΠΈΡ†.

>>> np.ones((3, 3))
array([[ 1., 1., 1.],
       [ 1., 1., 1.],
       [ 1., 1., 1.]])

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π΄Π²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ массивы с Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… float64. ПолСзная Ρ„ΠΈΡˆΠΊΠ° β€” arrange(). Она Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ массивы NumPy с числовыми ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ трСбованиям Π² зависимости ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². НапримСр, для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ 0 ΠΈ 10, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ всСго ΠΎΠ΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ β€” Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

>>> np. arange(0, 10) 
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

Если Π² Π½Π°Ρ‡Π°Π»Π΅ Π½ΡƒΠΆΠ΅Π½ Π½Π΅ ноль, Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΡƒΠΆΠ΅ Π΄Π²Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°: ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈ послСдний.

>>> np.arange(4, 10) 
array([4, 5, 6, 7, 8, 9])

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ с Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ. Если ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² arrange(), ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ элСмСнтом.

>>> np.arange(0, 12, 3) 
array([0, 3, 6, 9])

Оно ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ числом с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ.

>>> np.arange(0, 6, 0.6)
array([ 0. , 0.6, 1.2, 1.8, 2.4, 3. , 3.6, 4.2, 4.8, 5.4])

Пока Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… Π±Ρ‹Π»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов всС Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ arrange(), Π½ΠΎ вмСстС с reshape(). Она Π΄Π΅Π»ΠΈΡ‚ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ массив Π½Π° части способом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Π½ Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π΅ shape.

>>> np.arange(0, 12).reshape(3, 4)
array([[ 0, 1, 2, 3],
       [ 4, 5, 6, 7],
       [ 8, 9, 10, 11]])

ΠŸΠΎΡ…ΠΎΠΆΠ°Ρ Π½Π° arrange() функция β€” linspace(). Она Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π²ΡƒΡ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΈ послСднСС значСния ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π½ΠΎ Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ являСтся Π½Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π», Π° количСство элСмСнтов, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

>>> np.linspace(0,10,5)
array([ 0. , 2.5, 5. , 7.5, 10. ])

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ получСния массива β€” Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ случайными значСниями. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ random() ΠΈΠ· модуля numpy.random. Π­Ρ‚Π° функция Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ массив с Ρ‚Π΅ΠΌ количСством элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°.

>>> np.random.random(3)
array([ 0.78610272, 0.90630642, 0.80007102])

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ числа Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ запуском. Для создания ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π² Π²ΠΈΠ΄Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°.

>>> np.random.random((3,3))
array([[ 0.07878569, 0.7176506 , 0.05662501],
       [ 0.82919021, 0.80349121, 0.30254079],
       [ 0.93347404, 0.65868278, 0.37379618]]) 

numpy.array — NumPy v1.20 Руководство

ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ array_like

Массив, любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ интСрфСйс массива, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Ρ‡Π΅ΠΉ ΠœΠ΅Ρ‚ΠΎΠ΄ __array__ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив ΠΈΠ»ΠΈ Π»ΡŽΠ±ΡƒΡŽ (Π²Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ) ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

dtype Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ

Π’Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… для массива. Если Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, Ρ‚ΠΎ Ρ‚ΠΈΠΏ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для удСрТания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

copy bool, Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ

Если true (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ), ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ копируСтся.Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС копия Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли __array__ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ копию, Ссли obj являСтся Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, ΠΈΠ»ΠΈ Ссли копия Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° для удовлСтворСния Π»ΡŽΠ±Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ( dtype , Π·Π°ΠΊΠ°Π· ΠΈ Π΄Ρ€. ).

Π·Π°ΠΊΠ°Π· {β€˜K’, β€˜A’, β€˜C’, β€˜F’}, Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ

Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ структуру памяти массива. Если ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ являСтся массивом, вновь созданный массив Π±ΡƒΠ΄Π΅Ρ‚ Π² порядкС C (основная строка), Ссли β€˜F’ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, ΠΈ Π² этом случаС ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π² порядкС Fortran (основной столбСц).Если ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ являСтся массивом, выполняСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅.

Π·Π°ΠΊΠ°Π·

Π½Π΅Ρ‚ ΠΊΠΎΠΏΠΈΠΈ

копия = True

β€˜K’

Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ F&C сохранСн, Π² ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ порядок

β€˜A’

Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

Π—Π°ΠΊΠ°Π· F, Ссли Π²Π²ΠΎΠ΄ F, Π° Π½Π΅ C, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π·Π°ΠΊΠ°Π· C

β€˜C’

C Π·Π°ΠΊΠ°Π·

C Π·Π°ΠΊΠ°Π·

β€˜F’

F Π·Π°ΠΊΠ°Π·

F Π·Π°ΠΊΠ°Π·

Если copy = False ΠΈ копия сдСлана ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ copy = True , с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ для A , см. Π Π°Π·Π΄Π΅Π» ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠΉ.ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ — Β«KΒ».

subok bool, Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ

Если True, Ρ‚ΠΎ подклассы Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΉ массив Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½ Π±Ρ‹Ρ‚ΡŒ массивом Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ).

ndmin int, Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ

Π—Π°Π΄Π°Π΅Ρ‚ минимальноС количСство ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ получаСтся Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ массив Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ. Π•Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΊ Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠ°ΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для выполнСния этого трСбования.

ΠΊΠ°ΠΊ array_like

Бсылочный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ массивы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠœΠ°ΡΡΠΈΠ²Ρ‹ NumPy.Если ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ массиву ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ ΠΊΠ°ΠΊ , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» __array_function__ , Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ этим. Π’ этом случаС ΠΎΠ½ обСспСчиваСт созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° массива. совмСстим с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ пСрСдаСтся Ρ‡Π΅Ρ€Π΅Π· этот Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово like — ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ функция, ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰Π°Ρ выполнСния принятиС НЭПа 35.

NumPy БозданиС массивов


Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ndarray NumPy

NumPy ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами.ΠžΠ±ΡŠΠ΅ΠΊΡ‚ массива Π² NumPy называСтся ndarray .

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ NumPy ndarray с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ array () .

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ numpy ΠΊΠ°ΠΊ np

arr = np.array ([1, 2, 3, 4, 5])

print (arr)

print (Ρ‚ΠΈΠΏ (arr))

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »

type (): Π­Ρ‚Π° встроСнная функция Python сообщаСт Π½Π°ΠΌ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΅ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Как Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π΅ это ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ arr — это число.ndarray Ρ‚ΠΈΠΏΠ°.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ndarray , ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ список, ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΈΠ»ΠΈ любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ массиву, Π² массив array () ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΈ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ Π² ndarray :

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ для создания массива NumPy:

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ numpy ΠΊΠ°ΠΊ np

arr = np. array ((1, 2, 3, 4, 5))

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (arr)

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »

Π Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π² массивах

Π Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ Π² массивах — это ΠΎΠ΄ΠΈΠ½ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹ массива (Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ массивы).

Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… массивов: — это массивы, Π² качСствС элСмСнтов ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ массивы.


0-D ΠœΠ°ΡΡΠΈΠ²Ρ‹

массивов 0-D, ΠΈΠ»ΠΈ Бкаляры — это элСмСнты массива. КаТдоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² массивС прСдставляСт собой массив 0-D.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ массив 0-D со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 42

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ numpy ΠΊΠ°ΠΊ np

arr = np.array (42)

print (arr)

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »

ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

Массив, Π² качСствС элСмСнтов ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ массивы 0-D, называСтся ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ массивом.

Π­Ρ‚ΠΎ самыС распространСнныС ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ массивы.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив, содСрТащий значСния 1,2,3,4,5:

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ numpy ΠΊΠ°ΠΊ np

arr = np.array ([1, 2, 3, 4, 5])

print (arr)

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »

Π”Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

Массив, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Π² качСствС элСмСнтов ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы, называСтся Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌ массивом.

Часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для прСдставлСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ† ΠΈΠ»ΠΈ Ρ‚Π΅Π½Π·ΠΎΡ€ΠΎΠ² 2-Π³ΠΎ порядка.

NumPy ΠΈΠΌΠ΅Π΅Ρ‚ Ρ†Π΅Π»Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… число.ΠΌΠ°Ρ‚

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив, содСрТащий Π΄Π²Π° массива со значСниями 1,2,3 ΠΈ 4,5,6:

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ numpy ΠΊΠ°ΠΊ np

arr = np.array ([[1, 2, 3], [4, 5, 6]])

print (arr)

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »

Π’Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

Массив, Π² качСствС элСмСнтов ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы (ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹), называСтся Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΌ массивом.

Они часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для прСдставлСния Ρ‚Π΅Π½Π·ΠΎΡ€Π° 3-Π³ΠΎ порядка.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив с двумя Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТит Π΄Π²Π° массива с значСния 1,2,3 ΠΈ 4,5,6:

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ numpy ΠΊΠ°ΠΊ np

arr = np.массив ([[[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]]]])

print (arr)

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ количСство Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ²?

NumPy Arrays прСдоставляСт Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ndim , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ†Π΅Π»ΠΎΠ΅ число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ сообщаСт Π½Π°ΠΌ, сколько ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ массив.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, сколько ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ ΠΈΠΌΠ΅ΡŽΡ‚ массивы:

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ numpy ΠΊΠ°ΠΊ np

a = np.array (42)
b = np.array ([1, 2, 3, 4, 5])
c = np.array ([[1, 2, 3], [4, 5, 6]])
d = np.array ([[[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]]]])

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (a.ndim)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (b.ndim)
оттиск (c.ndim)
print (d.ndim)

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »

ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π±ΠΎΠ»Π΅Π΅ высоких ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ

Массив ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ любоС количСство ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ.

Когда массив создан, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ количСство ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ndmin .

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ массив с 5 измСрСниями ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ 5 ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ:

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ numpy ΠΊΠ°ΠΊ np

arr = np.массив ([1, 2, 3, 4], ndmin = 5)

print (arr)
print (‘количСство ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ:’, arr.ndim)

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »

Π’ этом массивС самоС Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ (5-ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€) ΠΈΠΌΠ΅Π΅Ρ‚ 4 элСмСнта, 4-ΠΉ тусклый свСт ΠΈΠΌΠ΅Π΅Ρ‚ 1 элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ, 3-ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ 1 элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ с Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ, 2-ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ 1 элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΌ массивом, Π° 1-ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ 1 элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся 4-ΠΌΠ΅Ρ€Π½Ρ‹ΠΌ массивом.



Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ массива NumPy


Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ массива доступа

Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ массива Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ доступу ΠΊ элСмСнту массива.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ элСмСнту массива, ΡƒΠΊΠ°Π·Π°Π² Π΅Π³ΠΎ порядковый Π½ΠΎΠΌΠ΅Ρ€.

Π˜Π½Π΄Π΅ΠΊΡΡ‹ Π² массивах NumPy Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с 0, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт ΠΈΠΌΠ΅Π΅Ρ‚ индСкс 0, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ индСкс 1 ΠΈ Ρ‚. Π΄.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ массива:

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ numpy ΠΊΠ°ΠΊ np

arr = np.array ([1, 2, 3, 4])

print (arr [0])

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ массива.

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ numpy ΠΊΠ°ΠΊ np

arr = np.array ([1, 2, 3, 4])

print (arr [1])

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΈ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ элСмСнты ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ массива ΠΈ слоТитС ΠΈΡ….

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ numpy ΠΊΠ°ΠΊ np

arr = np.array ([1, 2, 3, 4])

print (arr [2] + ΠΎΠ±Ρ€ [3])

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »

Доступ ΠΊ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌ массивам

Для доступа ΠΊ элСмСнтам ΠΈΠ· Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹Π΅ числа, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ запятыми, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Π² Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ индСкс элСмСнта.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Доступ ΠΊΠΎ 2-ΠΌΡƒ элСмСнту Π½Π° 1-ΠΌ освСщСнии:

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ numpy ΠΊΠ°ΠΊ np

arr = np.array ([[1,2,3,4,5], [6,7,8,9,10]])

print (‘2-ΠΉ элСмСнт Π½Π° 1-ΠΌ dim:’, arr [0, 1])

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Доступ ΠΊ 5-ΠΌΡƒ элСмСнту Π½Π° 2-ΠΌ освСщСнии:

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ numpy ΠΊΠ°ΠΊ np

arr = np.array ([[1,2,3,4,5], [6,7,8,9,10]])

print (‘5-ΠΉ элСмСнт Π½Π° 2-ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€: ‘, ΠΎΠ±Ρ€ [1, 4])

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »

Доступ ΠΊ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΌ массивам

Для доступа ΠΊ элСмСнтам ΠΈΠ· Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹Π΅ числа, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ запятыми, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΈ индСкс элСмСнта.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Доступ ΠΊ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌΡƒ элСмСнту Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ массива ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ массива:

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ numpy ΠΊΠ°ΠΊ np

arr = np.array ([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])

print (arr [0, 1, 2])

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »

ОбъяснСниС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°

arr [0, 1, 2] ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 6 .

И Π²ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ:

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ число прСдставляСт ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ содСрТит Π΄Π²Π° массива:
[[1, 2, 3], [4, 5, 6]]
ΠΈ:
[[7, 8, 9], [10, 11, 12]]
ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ 0 , Ρƒ нас остаСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ массив:
[[1, 2, 3], [4, 5, 6]]

Π’Ρ‚ΠΎΡ€ΠΎΠ΅ число прСдставляСт Π²Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ содСрТит Π΄Π²Π° массива:
[1, 2, 3]
ΠΈ:
[4, 5, 6]
ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ 1 , Ρƒ нас остаСтся Π²Ρ‚ΠΎΡ€ΠΎΠΉ массив:
[4, 5, 6]

Π’Ρ€Π΅Ρ‚ΡŒΠ΅ число прСдставляСт Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ содСрТит Ρ‚Ρ€ΠΈ значСния:
4
5
6
ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ 2 , ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:
6


ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ индСксированиС

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡŽ для доступа ΠΊ массиву с ΠΊΠΎΠ½Ρ†Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

ВывСсти послСдний элСмСнт ΠΈΠ· 2-Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°:

import numpy as np

arr = np.array ([[1,2,3,4,5], [6,7,8,9,10]])

print (‘ПослСдний элСмСнт ΠΈΠ· 2-ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€: ‘, ΠΎΠ±Ρ€ [1, -1])

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам »

Python NumPy array tutorial — Like Geeks

NumPy — это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° / ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… расчСтов Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Python. Π’ этом руководствС Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ мноТСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с массивами NumPy, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅, сортировка ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ элСмСнтами Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами.

NumPy прСдоставляСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ массивы, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ замаскированныС массивы ΠΈΠ»ΠΈ замаскированныС ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы.

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ΅Π½ NumPy

ΠœΠΎΠ΄ΡƒΠ»ΡŒ NumPy прСдоставляСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ndarray, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с массивом любого измСрСния. Ndarray ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ N-ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив, Π³Π΄Π΅ N — любоС число. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ массив NumPy ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ любоС ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅.

NumPy ΠΈΠΌΠ΅Π΅Ρ‚ ряд прСимущСств ΠΏΠ΅Ρ€Π΅Π΄ списками Python. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с массивами NumPy, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

  1. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° элСмСнтов массива
  2. ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΈ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
  3. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π° / Π²Ρ‹Π²ΠΎΠ΄Π°
  4. БтатистичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹

Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ NumPy?

Для установки NumPy Π²Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Python ΠΈ Pip Π² вашСй систСмС.

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² своСй ОБ Windows:

 pip install numpy 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ NumPy Π² свой скрипт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ 

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнт массива

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнт массива NumPy с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° append () модуля NumPy.

Бинтаксис добавлСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

 numpy.append (массив, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ось) 

ЗначСния Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² ΠΊΠΎΠ½Π΅Ρ† массива, ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ ndarray с Π½ΠΎΠ²Ρ‹ΠΌ ΠΈ старым значСниями, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅.

Ось — это Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число, вдоль ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ опрСдСляСтся способ отобраТСния массива. Если ось Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π°, структура массива Π±ΡƒΠ΄Π΅Ρ‚ сглаТСна, ΠΊΠ°ΠΊ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΏΠΎΠ·ΠΆΠ΅.

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Π΄Π΅ сначала ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ массив, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ использовали ΠΌΠ΅Ρ‚ΠΎΠ΄ добавлСния для добавлСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² массив:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€

a = numpy.array ([1, 2, 3])

newArray = numpy.append (a, [10, 11, 12])

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (newArray) 

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΈΠΌ:

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ столбСц

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ append () NumPy для вставки столбца.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅, Π³Π΄Π΅ ΠΌΡ‹ создали Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив ΠΈ вставили Π΄Π²Π° столбца:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€

a = numpy.array ([[1, 2, 3], [4, 5, 6]])

b = numpy.array ([[400], [800]])

newArray = numpy.append (a, b, ось = 1)

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (newArray) 

Π’Ρ‹Π²ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΈΠΌ:

Если Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ оси Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Π²Ρ‹Π²ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ структура массива сглаТиваСтся.

Π’ NumPy ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ insert () для вставки элСмСнта ΠΈΠ»ΠΈ столбца. Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ insert () ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ append () Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡƒ индСксу ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнт ΠΏΡ€ΠΈ использовании ΠΌΠ΅Ρ‚ΠΎΠ΄Π° insert (), Π½ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ append () добавляСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ† массива.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€

a = numpy.array ([1, 2, 3])

newArray = numpy.insert (a, 1, 90)

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (newArray) 

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

Π—Π΄Π΅ΡΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ insert () добавляСт элСмСнт с индСксом 1. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ индСкс массива начинаСтся с 0.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строку

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ append () для добавлСния строки Π² массив. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ просто, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнт Π² массив. Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€

a = numpy.array ([[1, 2, 3], [4, 5, 6]])

newArray = numpy.append (a, [[50, 60, 70]], ось = 0)

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (newArray) 

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ элСмСнт

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ элСмСнт массива NumPy, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ delete () модуля NumPy:

Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€

а = numpy.массив ([1, 2, 3])

newArray = numpy.delete (a, 1, ось = 0)

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (newArray) 

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив. ΠœΠ΅Ρ‚ΠΎΠ΄ delete () удаляСт элСмСнт с индСксом 1 ΠΈΠ· массива.

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ строку

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ строку с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° delete ().

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Π΄Π΅ ΠΌΡ‹ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ строку ΠΈΠ· Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€

а = numpy.массив ([[1, 2, 3], [4, 5, 6], [10, 20, 30]])

newArray = numpy.delete (a, 1, ось = 0)

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (newArray) 

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ delete () Π²Ρ‹ сначала ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ массив, Π° Π·Π°Ρ‚Π΅ΠΌ индСкс элСмСнта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт с индСксом 1.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, пуст Π»ΠΈ массив NumPy

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±Ρ‰Π΅Π΅ количСство элСмСнтов Π² массивС.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ if, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ провСряСт Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ элСмСнтов Π² массивС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ndarray.size, Π³Π΄Π΅ ndarray — любой Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ массив NumPy:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€

a = numpy.array ([1, 2, 3])

Ссли (a.size == 0):

    print ("Π”Π°Π½Π½Ρ‹ΠΉ массив пуст")

Π΅Ρ‰Π΅:

    print ("Массив =", a) 

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π΅ Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ элСмСнта, поэтому ΠΎΠ½ Π½Π΅ пустой, ΠΈ условиС Π²Π΅Ρ€Π½Π΅Ρ‚ false.

Если элСмСнтов Π½Π΅Ρ‚, условиС if станСт истинным, ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½ΠΎ пустоС сообщСниС.

Если наш массив Ρ€Π°Π²Π΅Π½:

 a = numpy.array ([]) 

Π’Ρ‹Π²ΠΎΠ΄ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

Найти индСкс значСния

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ индСкс значСния, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ where () модуля NumPy, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. Π½ΠΈΠΆΠ΅:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€

a = numpy.array ([1, 2, 3, 4, 5])

print ("5 Π½Π°ΠΉΠ΄Π΅Π½ΠΎ ΠΏΠΎ индСксу:", numpy.Π³Π΄Π΅ (a == 5)) 

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

ΠœΠ΅Ρ‚ΠΎΠ΄ where () Ρ‚Π°ΠΊΠΆΠ΅ Π²Π΅Ρ€Π½Π΅Ρ‚ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ просто ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ индСкс, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€

a = numpy.array ([1, 2, 3, 4, 5])

index = numpy.where (a == 5)

print ("5 Π½Π°ΠΉΠ΄Π΅Π½ΠΎ ΠΏΠΎ индСксу:", index [0]) 

Π’ΠΎΠ³Π΄Π° Π²Ρ‹Π²ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚:

НарСзка массива NumPy

НарСзка массива — это процСсс извлСчСния подмноТСства ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива.Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Ρ€Π΅Π·Π°Ρ‚ΡŒ массив с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° двоСточия (:) ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ† индСкса массива, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

 массив [ΠΎΡ‚: Π΄ΠΎ] 

Π­Ρ‚ΠΎ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΎ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€

a = numpy.array ([1, 2, 3, 4, 5, 6, 7, 8])

print ("ΠŸΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ массива a =", a [2: 5]) 

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΈΠ·Π²Π»Π΅ΠΊΠ»ΠΈ элСмСнты, начиная с индСкса 2 ΠΈ заканчивая индСксом 5. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚:

Если ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ послСдниС Ρ‚Ρ€ΠΈ элСмСнта.ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ срСза ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€

a = numpy.array ([1, 2, 3, 4, 5, 6, 7, 8])

print ("ΠŸΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ массива a =", a [-3:]) 

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚:

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΊΠΎ всСм элСмСнтам массива

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ собираСмся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΄ΠΈΠΌ наш массив, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π΅ ΠΊΠΎ всСм элСмСнтам:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€

слоТСниС = лямбда x: x + 2

а = numpy.массив ([1, 2, 3, 4, 5, 6])

print ("Массив послС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ слоТСния:", слоТСниС (a)) 

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ создаСтся лямбда-функция, которая ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π½Π° Π΄Π²Π°.

Π”Π»ΠΈΠ½Π° массива NumPy

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ массива NumPy, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ size модуля NumPy, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€

a = numpy.array ([1, 2, 3, 4, 5, 6])

print ("Π Π°Π·ΠΌΠ΅Ρ€ массива =", a.Ρ€Π°Π·ΠΌΠ΅Ρ€) 

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ сгСнСрируСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ массив NumPy ΠΈΠ· списка

Бписки Π² Python — это количСство элСмСнтов, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ вас Π΅ΡΡ‚ΡŒ список ΠΊΠ°ΠΊ:

 Π» = [1, 2, 3, 4, 5] 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ массив ΠΈΠ· этого списка, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ array () модуля NumPy:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€

l = [1, 2, 3, 4, 5]

a = numpy.array (l)

print ("Массив NumPy из списка Python =", a) 

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

Аналогично, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ array (), ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ массив NumPy ΠΈΠ· ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.ΠšΠΎΡ€Ρ‚Π΅ΠΆ содСрТит ряд элСмСнтов, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€

Ρ‚ = (1, 2, 3, 4, 5)

a = numpy.array (t)

print ("Массив NumPy из Python Tuple =", a) 

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚:

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ массив NumPy Π² список

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ массив Π² список, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ tolist () модуля NumPy.

Рассмотрим ΠΊΠΎΠ΄ Π½ΠΈΠΆΠ΅:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€

а = numpy.массив ([1, 2, 3, 4, 5])

print ("Массив в список =", a.tolist ()) 

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

Π’ этом ΠΊΠΎΠ΄Π΅ ΠΌΡ‹ просто Π²Ρ‹Π·Π²Π°Π»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ tolist (), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ массив Π² список. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ вновь созданный список Π½Π° экран Π²Ρ‹Π²ΠΎΠ΄Π°.

Массив NumPy в CSV

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив Π² Ρ„Π°ΠΉΠ» CSV, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ savetxt () модуля NumPy, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€

а = numpy.массив ([1, 2, 3, 4, 5])

numpy.savetxt ("myArray.csv", a) 

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ сгСнСрируСт CSV-Ρ„Π°ΠΉΠ» Π² Ρ‚ΠΎΠΌ мСстС, Π³Π΄Π΅ хранится наш Ρ„Π°ΠΉΠ» ΠΊΠΎΠ΄Π° Python. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ. Когда Π²Ρ‹ запуститС сцСнарий, Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ сгСнСрирован ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ этого Ρ„Π°ΠΉΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ лишнСС Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ нулями ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 numpy.savetxt ("myArray.csv", a, fmt = '%. 2f') 

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° массива NumPy

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив NumPy с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° sort () модуля NumPy:

Ѐункция sort () ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ось (Ρ†Π΅Π»ΠΎΠ΅ число), которая ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π½Π° -1.Ось ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ оси ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив. -1 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ массив Π±ΡƒΠ΄Π΅Ρ‚ отсортирован ΠΏΠΎ послСднСй оси.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€

a = numpy.array ([16, 3, 2, 6, 8, 10, 1])

print ("Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ массив =", numpy.sort (a)) 

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π²Ρ‹Π·Π²Π°Π»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ sort () Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ. Массив Β«aΒ» пСрСдаСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ сортировки. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

ΠΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ массив

Нормализация массива — это процСсс привСдСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ массива Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½.НапримСр, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‚ΠΈΠΌ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ массив ΠΎΡ‚ -1 Π΄ΠΎ 1 ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Π€ΠΎΡ€ΠΌΡƒΠ»Π° Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 x = (x - xmin) / (xmax - xmin) 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ эту Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ массиву, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнты Π² массивС, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ max () ΠΈ min () NumPy соотвСтствСнно.

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€

x = numpy.array ([400, 800, 200, 700, 1000, 2000, 300])

xmax = x.max ()

Ρ…ΠΌΠΈΠ½ = Ρ….ΠΌΠΈΠ½ ()

Ρ… = (Ρ… - Ρ…ΠΌΠΈΠ½) / (хмакс - Ρ…ΠΌΠΈΠ½)

print ("ПослС Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ массив x = \ n", x) 

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ массива

БрСдство индСксирования относится ΠΊ элСмСнту массива. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ использовали ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡŽ Π² ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… ΠΈ Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивах:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€

a = numpy.array ([20, 13, 42, 86, 81, 9, 11])

print ("Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ с индСксом 3 =", a [3]) 

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ индСксация с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€

а = numpy.массив ([[20, 13, 42], [86, 81, 9]])

print ("Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ с индСксом a [1] [2] =", a [1] [2]) 

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚:

ИндСкс [1] [2] ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π²Ρ‚ΠΎΡ€ΡƒΡŽ строку ΠΈ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ столбСц (ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ индСксированиС начинаСтся с 0). Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π° экранС Π²Ρ‹Π²ΠΎΠ΄Π° Ρƒ нас 9.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ массив NumPy ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ массив NumPy ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ массиву NumPy с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° append ().

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€

а = numpy.массив ([1, 2, 3, 4, 5])

b = numpy.array ([10, 20, 30, 40, 50])

newArray = numpy.append (a, b)

print ("Новый массив =", newArray) 

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ создаСтся массив NumPy Β«aΒ», Π° Π·Π°Ρ‚Π΅ΠΌ создаСтся Π΄Ρ€ΡƒΠ³ΠΎΠΉ массив с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«bΒ». Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ использовали ΠΌΠ΅Ρ‚ΠΎΠ΄ append () ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π»ΠΈ Π΄Π²Π° массива. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ массив Β«bΒ» пСрСдаСтся Π² качСствС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΎΠ½ добавляСтся Π² ΠΊΠΎΠ½Π΅Ρ† массива Β«aΒ».

Как ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ, Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с массивами NumPy ΠΎΡ‡Π΅Π½ΡŒ просто.ΠœΠ°ΡΡΠΈΠ²Ρ‹ NumPy ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ машинного обучСния. Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ NumPy — это Π²ΠΎΡ€ΠΎΡ‚Π° Π² искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚.

Аиша Π’Π°Ρ€ΠΈΠΊ (Ayesha Tariq) — программист ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°, Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈ энтузиаст-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ΠΎΠ². Она ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΌΠΈ знаниями C / C ++, Java, Kotlin, Python ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ….

Numpy | Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ массива — GeeksforGeeks

} .numpy-table td {border: 1px solid # 5fb962; color: # 000; text-align: left! Important}

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ массива с использованиСм списка: ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для хранСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΎΠ΄Π½Π°-СдинствСнная пСрСмСнная.Python Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ встроСнной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ массивов, Π½ΠΎ вмСсто этого ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ списки Python.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

arr = [1, 2, 3, 4, 5]
arr1 = ["гики", "для", "гики"]
 
# ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Python для создания
# массив

# БозданиС массива с использованиСм списка
    arr = [1, 2, 3, 4, 5]
    для я Π² ΠΎΠ±Ρ€:
        ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (я)


 

Π’Ρ‹Ρ…ΠΎΠ΄:

1
2
3
4
5
 


Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ массива с использованиСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ массива:
массив (Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, список Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ) Ѐункция ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания массива с Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ списком Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ Π² Π΅Π³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ….
ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

# Код Python для дСмонстрации Ρ€Π°Π±ΠΎΡ‚Ρ‹
# мноТСство()
 
# ΠΈΠΌΠΏΠΎΡ€Ρ‚ "массива" для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с массивом
ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ массив
 
# инициализация массива значСниями массива
# ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ массив Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами со Π·Π½Π°ΠΊΠΎΠΌ
arr = array.array ('я', [1, 2, 3])

# ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ исходного массива
print ("Новый созданный массив:", end = "")
для i в диапазонС (0,3):
    print (arr [i], end = "")

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ("\ Π³")
 

Π’Ρ‹Ρ…ΠΎΠ΄:

 Новый созданный массив: 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)
print ("ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° b: \ n", b)

a = geek.empty ([2, 2], dtype = int)
print ("\ nΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° a: \ n", a)

c = ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‰ΠΈΠΊ.пустой ([3, 3])
print ("\ nΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° c: \ n", c)
 

Π’Ρ‹Ρ…ΠΎΠ΄:


ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° b:
 [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 ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‰ΠΈΠΊ

Π± = ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‰ΠΈΠΊ.Π½ΡƒΠ»ΠΈ (2, dtype = int)
print ("ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° b: \ n", b)

a = geek.zeros ([2, 2], dtype = int)
print ("\ nΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° a: \ n", a)

c = geek.zeros ([3, 3])
print ("\ nΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° c: \ n", c)

 

Π’Ρ‹Ρ…ΠΎΠ΄:

 ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° b:
 [0 0]

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° Π°:
 [[0 0]
 [0 0]]

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° c:
 [[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 ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‰ΠΈΠΊ

массив = ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‰ΠΈΠΊ.апСльсин (8)
print ("Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ массив: \ n", массив)

# shape массив с 2 строками ΠΈ 4 столбцами
массив = geek.arange (8) .reshape (2, 4)
print ("\ narray ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ с 2 строками ΠΈ 4 столбцами: \ n", массив)

# shape массив с 2 строками ΠΈ 4 столбцами
массив = 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.ΠΌΠ΅Ρ‚ΠΎΠ΄ Π°Ρ€Π°Π½ΠΆΠΈΡ€ΠΎΠ²ΠΊΠΈ

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ 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): Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ числовыС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ w.r.t ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π». Подобно Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ, Π½ΠΎ вмСсто шага ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½ΠΎΠΌΠ΅Ρ€ ΠΎΠ±Ρ€Π°Π·Ρ†Π°.


# ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅
# numpy.linspace ΠΌΠ΅Ρ‚ΠΎΠ΄

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ numpy ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‰ΠΈΠΊ

# restep установлСн Π½Π° True
print ("B \ n", geek.linspace (2.0, 3.0, num = 5, retstep = True), "\ n")

# Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ sin () Π² большом Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅
Ρ… = geek.linspace (0, 2, 10)
print ("A \ n", geek.sin (x))

 

Π’Ρ‹Ρ…ΠΎΠ΄:

B
 (массив ([2., 2.25, 2,5, 2,75, 3.]), 0,25)

А
 [0. 0,22039774 0,42995636 0,6183698 0,77637192 0,8961922
  0,9719379 0,99988386 0,9786557 0,743] 


Π‘Π³Π»Π°ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ массива: ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ сглаТивания, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ копию массива, ΡΠ²Π΅Ρ€Π½ΡƒΡ‚ΡƒΡŽ Π² ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅. Он ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π·Π°ΠΊΠ°Π·Π°. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ — Β«CΒ» (для строкового порядка). Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ «F» для опрСдСлСния основного порядка столбцов.

numpy.ndarray.flatten (order = β€˜C’) : Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ копию массива, свСрнутого Π² ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅.


# ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Python, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ
# ΠΌΠ΅Ρ‚ΠΎΠ΄ numpy.flatten ()

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ numpy ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‰ΠΈΠΊ

array = geek.array ([[1, 2], [3, 4]])

# ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ сглаТивания
array.flatten ()
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (массив)

# ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΡ‚ΠΊΠΎΡ€ΠΌΠ°
array.flatten ('F')
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (массив)
 

Π’Ρ‹Ρ…ΠΎΠ΄:

[1, 2, 3, 4]
[1, 3, 2, 4]
 

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ создания массива Π² Numpy
900 57
Ѐункция ОписаниС
empty () Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ массив Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Ρ‚ΠΈΠΏΠ° Π±Π΅Π· ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ записСй
empty_like () Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ массив Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Ρ‚ΠΈΠΏΠ°, Ρ‡Ρ‚ΠΎ ΠΈ Π΄Π°Π½Π½Ρ‹ΠΉ массив
eye () Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив с Π΅Π΄ΠΈΠ½ΠΈΡ†Π°ΠΌΠΈ Π½Π° Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ ΠΈ нулями Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС.
identity () Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ массив ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ²
ones () Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ массив Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Ρ‚ΠΈΠΏΠ°, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΉ Π΅Π΄ΠΈΠ½ΠΈΡ†Π°ΠΌΠΈ
ones_like () Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив Π΅Π΄ΠΈΠ½ΠΈΡ† Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Ρ‚ΠΈΠΏΠ°, Ρ‡Ρ‚ΠΎ ΠΈ Π΄Π°Π½Π½Ρ‹ΠΉ массив
zeros () Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ массив Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Ρ‚ΠΈΠΏΠ°, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΉ нулями
zeros_like () Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив Π½ΡƒΠ»Π΅ΠΉ Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Ρ‚ΠΈΠΏΠ°, Ρ‡Ρ‚ΠΎ ΠΈ Π΄Π°Π½Π½Ρ‹ΠΉ массив
full_like () Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ массив Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Ρ‚ΠΈΠΏΠ°, Ρ‡Ρ‚ΠΎ ΠΈ Π΄Π°Π½Π½Ρ‹ΠΉ массив.
array () БозданиС массива
asarray () ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π° Π² массив
asanyarray () ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π° Π² ndarray, Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ подклассы ndarray Ρ‡Π΅Ρ€Π΅Π·
ascontiguousarray () Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΉ массив Π² памяти (порядок C)
asmatrix () Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π²ΠΎΠ΄ ΠΊΠ°ΠΊ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ
copy () Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ копию массива Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
frombuffer () Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΡƒΡ„Π΅Ρ€ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив
fromfile () ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ массив ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ… Π² тСкстС ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»
fromfunction () Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ массив, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π΅
fromiter () Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива ΠΈΠ· ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
fromstring () Новый ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив, ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΈΠ· тСкстовых Π΄Π°Π½Π½Ρ‹Ρ… Π² строкС
loadtxt () Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· тСкстового Ρ„Π°ΠΉΠ»Π°
arange () Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ распрСдСлСнныС значСния Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°
linspace () Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ распрСдСлСнныС числа Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅
logspace () Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ числа, Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ распрСдСлСнныС Π² логарифмичСской шкалС
geomspace () Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ числа, Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ распрСдСлСнныС Π² логарифмичСской шкалС (гСомСтричСская прогрСссия)
meshgrid ( ) Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΈΠ· Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚
mgrid () nd_grid instance ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠ»ΠΎΡ‚Π½ΡƒΡŽ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΡƒΡŽ сСтку.
ogrid () экзСмпляр nd_grid, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΡƒΡŽ сСтку.
diag () Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ ΠΈΠ»ΠΈ построСниС диагонального массива
diagflat () Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива со сглаТСнным Π²Ρ…ΠΎΠ΄ΠΎΠΌ Π² Π²ΠΈΠ΄Π΅ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ
tri () Массив с Π΅Π΄ΠΈΠ½ΠΈΡ†Π°ΠΌΠΈ Π½Π° Π΄Π°Π½Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ ΠΈ Π½ΠΈΠΆΠ΅ ΠΈ нулями Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС
tril () НиТний Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ массива
triu () Π’Π΅Ρ€Ρ…Π½ΠΈΠΉ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ массива
vander () Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Π’Π°Π½Π΄Π΅Ρ€ΠΌΠΎΠ½Π΄Π°
mat () Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π²ΠΎΠ΄ ΠΊΠ°ΠΊ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ
bmat () ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ f ΠΈΠ· строки, Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ»ΠΈ массива

ПолноС руководство ΠΏΠΎ массивам NumPy

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ ΠΎ массивах NumPy.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массивы NumPy?

ΠœΠ°ΡΡΠΈΠ²Ρ‹ NumPy — это основной способ хранСния Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ NumPy. Они ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ списки Π² Python, Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΎ прСимущСство, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ быстрСС ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ большС встроСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

ΠœΠ°ΡΡΠΈΠ²Ρ‹ NumPy ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡƒΡ‚Π΅ΠΌ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° array () ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ NumPy. Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ список.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ массива NumPy ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½ΠΈΠΆΠ΅. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ хотя я Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ import numpy as np Π² Π½Π°Ρ‡Π°Π»Π΅ этого Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π° Π² этом ΡƒΡ€ΠΎΠΊΠ΅ для краткости.

  ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ numpy ΠΊΠ°ΠΊ np

sample_list = [1, 2, 3]

np.array (список_Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ)  

ПослСдняя строка этого Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° array () ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ это большС Π½Π΅ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ список Python. ВмСсто этого это массив NumPy.

Π”Π²Π° Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° массивов NumPy

БущСствуСт Π΄Π²Π° Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° массивов NumPy: Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

Π’Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ — это ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы NumPy ΠΈ выглядят Ρ‚Π°ΠΊ:

  my_vector = np.array (['this', 'is', 'a', 'vector'])  
ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

— это Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ списка списков Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ np.array () . ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅.

  my_matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

np.array (my_matrix)  

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ массивы NumPy для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Ρ€Π΅Ρ…-, Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…-, пяти-, ΡˆΠ΅ΡΡ‚ΠΈΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами, Π½ΠΎ ΠΎΠ½ΠΈ Ρ€Π΅Π΄ΠΊΠΈ ΠΈ Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стСпСни выходят Π·Π° Ρ€Π°ΠΌΠΊΠΈ этого курса (Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², это курс программирования Π½Π° Python. , Π° Π½Π΅ линСйная Π°Π»Π³Π΅Π±Ρ€Π°).

ΠœΠ°ΡΡΠΈΠ²Ρ‹ NumPy: встроСнныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

ΠœΠ°ΡΡΠΈΠ²Ρ‹

NumPy ΠΈΠΌΠ΅ΡŽΡ‚ ряд ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… встроСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². ΠœΡ‹ посвятим ΠΎΡΡ‚Π°Π²ΡˆΡƒΡŽΡΡ Ρ‡Π°ΡΡ‚ΡŒ ΡƒΡ€ΠΎΠΊΠ° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΌΡƒ ΠΎΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΡŽ этих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ чисСл Π² Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ NumPy

NumPy ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ arange , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° числа ΠΈ Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ массив Ρ†Π΅Π»Ρ‹Ρ… чисСл, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½Ρ‹ (> = ) ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ числу ΠΈ мСньшС ( <) Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ числу.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° arange ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Ρ‚ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ arange , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт Ρ€Π°Π·ΠΌΠ΅Ρ€ шага для Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° 2 Π² качСствС Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ 2-Π΅ число Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° 5 Π² качСствС Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ 5-Π΅ число Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΈ Ρ‚. Π”.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ arange ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅.

Как ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ ΠΈ Π½ΡƒΠ»ΠΈ Π² Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ NumPy

Π’ процСссС программирования Π²Π°ΠΌ врСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ потрСбуСтся ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ массивы ΠΈΠ· Π΅Π΄ΠΈΠ½ΠΈΡ† ΠΈΠ»ΠΈ Π½ΡƒΠ»Π΅ΠΉ. NumPy ΠΈΠΌΠ΅Π΅Ρ‚ встроСнныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ любоС ΠΈΠ· этих дСйствий.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ массивы Π½ΡƒΠ»Π΅ΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ NumPy zeros . Π’Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚Π΅ количСство Ρ†Π΅Π»Ρ‹Ρ… чисСл, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ, Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы.НапримСр, np.zeros (5, 5) создаСт ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ 5x5, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ всС Π½ΡƒΠ»ΠΈ.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ массивы Π΅Π΄ΠΈΠ½ΠΈΡ†, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ones . ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅.

Как Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ чисСл Π² Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ NumPy

Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ситуаций, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρƒ вас Π΅ΡΡ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ чисСл, ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ ΠΏΠΎΡ€ΠΎΠ²Π½Ρƒ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ этот Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ чисСл Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹. ΠœΠ΅Ρ‚ΠΎΠ΄ NumPy linspace Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. linspace ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚Ρ€ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°:

  1. Начало ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°
  2. ΠšΠΎΠ½Π΅Ρ† ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°
  3. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΠΎΠ΄ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ², Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° linspace .

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ идСнтичности Π² Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ NumPy

Π›ΡŽΠ±ΠΎΠΉ, ΠΊΡ‚ΠΎ ΠΈΠ·ΡƒΡ‡Π°Π» Π»ΠΈΠ½Π΅ΠΉΠ½ΡƒΡŽ Π°Π»Π³Π΅Π±Ρ€Ρƒ, Π·Π½Π°ΠΊΠΎΠΌ с ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠ΅ΠΉ Β«Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹Β», которая прСдставляСт собой ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ, Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ значСния ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π²Π½Ρ‹ 1 .NumPy ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ для построСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ† идСнтичности. Ѐункция Π³Π»Π°Π· .

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π½ΠΈΠΆΠ΅:

  НП. Π“Π»Π°Π· (1)



Π½ΠΏ. Π³Π»Π°Π· (2)



Π½ΠΏ. Π³Π»Π°Π· (50)

  

Как ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ случайныС числа Π² Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ NumPy

NumPy ΠΈΠΌΠ΅Π΅Ρ‚ ряд встроСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ массивы случайных чисСл. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² начинаСтся с случайных . НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²:

  Π½ΠΏ.random.rand (Ρ€Π°Π·ΠΌΠ΅Ρ€_Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ)





np.random.randn (Ρ€Π°Π·ΠΌΠ΅Ρ€_элСмСнта)





np.random.randint (Π½ΠΈΠ·ΠΊΠΈΠΉ, высокий, Ρ€Π°Π·ΠΌΠ΅Ρ€_элСмСнта)

  

Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ массивов NumPy

ΠžΡ‡Π΅Π½ΡŒ часто Π±Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ массив с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ этот массив Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ. НапримСр, Ρƒ вас ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив с 10 элСмСнтами ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив 2x5.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅:

  arr = np.array ([0,1,2,3,4,5])

arr.reshape (2,3)  

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ:

  массив ([[0, 1, 2],

       [3, 4, 5]])  

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ для использования ΠΌΠ΅Ρ‚ΠΎΠ΄Π° reshape исходный массив Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ количСство элСмСнтов, Ρ‡Ρ‚ΠΎ ΠΈ массив, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π΅Π³ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ.

Если Π²Π°ΠΌ интСрСсно ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ массива NumPy, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ NumPy shape . Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π½Π°ΡˆΡƒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ структуру ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… arr , Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π·ΠΎΠ²Π° Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° shape :

  arr = np.array ([0,1,2,3,4,5])

ΠΎΠ±Ρ€. Ρ„ΠΎΡ€ΠΌΠ°



arr = arr.reshape (2,3)

ΠΎΠ±Ρ€. Ρ„ΠΎΡ€ΠΌΠ°

  

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ reshape с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ shape Π² ΠΎΠ΄Π½ΠΎΠΉ строкС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Как Π½Π°ΠΉΡ‚ΠΈ максимальноС ΠΈ минимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ массива NumPy

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ этого ΡƒΡ€ΠΎΠΊΠ° Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΡƒΠ·Π½Π°Π΅ΠΌ ΠΎ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… опрСдСлСния максимального ΠΈ минимального Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² массивС NumPy.Π‘ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с этим массивом:

  simple_array = [1, 2, 3, 4]  

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ max , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ массива NumPy. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅.

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ argmax , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ индСкс максимального значСния Π² массивС NumPy. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ мСстополоТСниС максимального значСния, Π½ΠΎ Π²Π°ΠΌ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅.

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ min ΠΈ argmin , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ индСкс минимального значСния Π² массивС NumPy.

  simple_array.min ()



simple_array.argmin ()

  

Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΏΠ΅Ρ€Π΅Π΄

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ обсудили Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ массивов NumPy. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ практичСскими ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ с массивами NumPy.

НСТноС Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² массивы NumPy Π² Python

ПослСднСС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ 29 ноября 2019 Π³.

ΠœΠ°ΡΡΠΈΠ²Ρ‹ - это основная структура Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ.

Π’ Python массивы ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ NumPy, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ N-ΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами ΠΈΠ»ΠΈ ndarray, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² качСствС ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠΉ структуры Π΄Π°Π½Π½Ρ‹Ρ… для прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ….

Π’ этом руководствС Π²Ρ‹ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚Π΅ для сСбя N-ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Π² NumPy для прСдставлСния числовых Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ управлСния Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Python.

ПослС прохоТдСния этого руководства Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π·Π½Π°Ρ‚ΡŒ:

  • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ndarray ΠΈ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ массив Π² Python.
  • ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для создания Π½ΠΎΠ²Ρ‹Ρ… пустых массивов ΠΈ массивов со значСниями ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
  • Как ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ массивы для создания Π½ΠΎΠ²Ρ‹Ρ… массивов.

НачнитС свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ΠΌΠΎΠ΅ΠΉ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ «ЛинСйная Π°Π»Π³Π΅Π±Ρ€Π° для машинного обучСния», Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅ΠΉ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹Ρ… руководств ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² исходного ΠΊΠΎΠ΄Π° Python для всСх ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ².

ΠŸΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΠΌ.

НСТноС Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² N-ΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы Π² Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ NumPy
Π€ΠΎΡ‚ΠΎ: patrickkavanagh, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π°Π²Π° Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Ρ‹.

ΠžΠ±Π·ΠΎΡ€ ΡƒΡ‡Π΅Π±Π½ΠΎΠ³ΠΎ пособия

Π­Ρ‚ΠΎ руководство Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΎ Π½Π° 3 части; ΠΈΡ…:

  1. NumPy N-ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив
  2. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ для создания массивов
  3. ОбъСдинСниС массивов

НуТна ΠΏΠΎΠΌΠΎΡ‰ΡŒ с Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€ΠΎΠΉ для машинного обучСния?

ΠŸΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ ΠΌΠΎΠΉ бСсплатный 7-Π΄Π½Π΅Π²Π½Ρ‹ΠΉ ускорСнный курс ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅ (с ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠΌ ΠΊΠΎΠ΄Π°).

НаТмитС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π±Π΅ΡΠΏΠ»Π°Ρ‚Π½ΡƒΡŽ ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ курса Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PDF.

Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Π‘Π•Π‘ΠŸΠ›ΠΠ’ΠΠ«Π™ ΠΌΠΈΠ½ΠΈ-курс

NumPy N-ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив

NumPy - это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Python, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… ΠΈ числСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ инструмСнт для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹.

Основная структура Π΄Π°Π½Π½Ρ‹Ρ… Π² NumPy - ndarray, сокращСнноС имя N-ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с NumPy Π΄Π°Π½Π½Ρ‹Π΅ Π² ndarray просто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ массивом.

Π­Ρ‚ΠΎ массив фиксированного Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π² памяти, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ‚ΠΈΠΏΠ°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ†Π΅Π»Ρ‹Π΅ числа ΠΈΠ»ΠΈ значСния с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой.

Доступ ΠΊ Ρ‚ΠΈΠΏΡƒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΌΡƒ массивом, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Β«dtypeΒ» Π² массивС. Доступ ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌ массива ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° shape, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π΄Π»ΠΈΠ½Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСрСния. Π•ΡΡ‚ΡŒ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ². Π£Π·Π½Π°ΠΉΡ‚Π΅ большС здСсь:

ΠŸΡ€ΠΎΡΡ‚Ρ‹ΠΌ способом создания массива ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ простых структур Π΄Π°Π½Π½Ρ‹Ρ… Python, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ список, являСтся использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ array ().

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ создаСтся список Python ΠΈΠ· 3 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, Π·Π°Ρ‚Π΅ΠΌ создаСтся ndarray ΠΈΠ· списка ΠΈ осущСствляСтся доступ ΠΊ Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈ Ρ‚ΠΈΠΏΡƒ Π΄Π°Π½Π½Ρ‹Ρ… массивов.

# ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ массив ΠΈΠ· массива ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° numpy l = [1.0, 2.0, 3.0] Π° = массив (l) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π°) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Ρ„ΠΎΡ€ΠΌΠ°) print (a.dtype)

# ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ массив

ΠΈΠ· массива ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° numpy

l = [1.0, 2.0, 3.0]

a = array (l)

print (a)

print (a.Ρ„ΠΎΡ€ΠΌΠ°)

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Ρ‚ΠΈΠΏ a.d)

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° пСчатаСтся содСрТимоС ndarray, Ρ„ΠΈΠ³ΡƒΡ€Π°, которая прСдставляСт собой ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив с 3 элСмСнтами, ΠΈ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ собой 64-Π±ΠΈΡ‚Π½ΡƒΡŽ ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ для создания массивов

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для создания массивов фиксированного Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ ΠΈΠ»ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим лишь Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ список здСсь:

ΠŸΡƒΡΡ‚ΠΎΠΉ

Ѐункция empty () создаст Π½ΠΎΠ²Ρ‹ΠΉ массив ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹.

АргумСнтом Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ являСтся массив ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π΄Π»ΠΈΠ½Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСрСния создаваСмого массива. ЗначСния ΠΈΠ»ΠΈ содСрТимоС созданного массива Π±ΡƒΠ΄ΡƒΡ‚ случайными ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ использованиСм.

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ создаСтся пустой Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив 3 Γ— 3.

# ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ пустой массив ΠΈΠ· numpy import пусто a = пусто ([3,3]) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π°)

# ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ пустой массив

ΠΈΠ· numpy import empty

a = empty ([3,3])

print (a)

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° пСчатаСтся содСрТимоС пустого массива.ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ содСрТимоС вашСго массива Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ.

[[0.00000000e + 000 0.00000000e + 000 2.20802703e-314] [2.20803350e-314 2.20803353e-314 2.20803356e-314] [2.20803359e-314 2.20803362e-314 2.20803366e-314]]

[[0.00000000e + 000 0.00000000e + 000 2.20802703e-314]

[2.20803350e-314 2.20803353e-314 2.20803356e-314]

[2.20803359e-314 2.20803362e-314-2.20433]

Нули

Ѐункция zeros () создаст Π½ΠΎΠ²Ρ‹ΠΉ массив ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° с содСрТимым, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΌ Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌΠΈ значСниями.

АргумСнтом Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ являСтся массив ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π΄Π»ΠΈΠ½Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСрСния создаваСмого массива.

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ создаСтся Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив 3 Γ— 5.

# ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ массив ΠΈΠ· numpy ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹Ρ… Π½ΡƒΠ»Π΅ΠΉ Π° = Π½ΡƒΠ»ΠΈ ([3,5]) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π°)

# ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ массив

ΠΈΠ· numpy import zeros

a = zeros ([3,5])

print (a)

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° пСчатаСтся содСрТимоС созданного Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ массива.

[[0. 0. 0. 0. 0.] [0. 0. 0. 0. 0.] [0. 0. 0. 0. 0.]]

[[0. 0. 0. 0. 0.]

[0. 0. 0. 0. 0.]

[0. 0. 0. 0. 0.]]

Π•Π΄ΠΈΠ½ΠΈΡ†Ρ‹

Ѐункция ones () создаст Π½ΠΎΠ²Ρ‹ΠΉ массив ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° с содСрТимым, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΌ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΌΠΈ значСниями.

АргумСнтом Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ являСтся массив ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π΄Π»ΠΈΠ½Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСрСния создаваСмого массива.

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ создаСтся ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив ΠΈΠ· 5 элСмСнтов.

# ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ массив ΠΈΠ· мноТСства ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹Ρ… Π° = Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ ([5]) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π°)

# ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ массив

ΠΈΠ· numpy import ones

a = ones ([5])

print (a)

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° пСчатаСтся содСрТимоС созданного массива.

ОбъСдинСниС массивов

NumPy прСдоставляСт мноТСство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для создания Π½ΠΎΠ²Ρ‹Ρ… массивов ΠΈΠ· ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… массивов.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π΄Π²Π΅ самыС популярныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΈΠ»ΠΈ с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½Π΅Ρ‚Π΅ΡΡŒ.

Π’Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ стСк

Учитывая Π΄Π²Π° ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… массива, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΠΈΡ… Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ vstack ().

НапримСр, для Π΄Π²ΡƒΡ… ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив с двумя строками, слоТив ΠΈΡ… Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ.

Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅.

# vstack ΠΈΠ· массива ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° numpy ΠΈΠ· numpy import vstack a1 = массив ([1,2,3]) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (a1) a2 = массив ([4,5,6]) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (a2) a3 = vstack ((a1, a2)) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (a3) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (a3.Ρ„ΠΎΡ€ΠΌΠ°)

# vstack

ΠΈΠ· массива ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° numpy

ΠΈΠ· массива ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° numpy vstack

a1 = array ([1,2,3])

print (a1)

a2 = array ([4,5,6])

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (a2)

a3 = vstack ((a1, a2))

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (a3) ​​

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (a3.shape)

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° сначала ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΡŽΡ‚ΡΡ Π΄Π²Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массива. ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΡƒΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ получаСтся Π½ΠΎΠ²Ρ‹ΠΉ массив 2 Γ— 3, содСрТимоС ΠΈ Ρ„ΠΎΡ€ΠΌΠ° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΡŽΡ‚ΡΡ.

[1 2 3] [4 5 6] [[1 2 3] [4 5 6]] (2, 3)

[1 2 3]

[4 5 6]

[[1 2 3]

[4 5 6]]

(2, 3)

Π“ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ стСк

ИмСя Π΄Π²Π° ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… массива, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΠΈΡ… Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ hstack ().

НапримСр, для Π΄Π²ΡƒΡ… ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив ΠΈΠ»ΠΈ ΠΎΠ΄Π½Ρƒ строку с ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹ΠΌΠΈ столбцами ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ массивов.

Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅.

# hstack ΠΈΠ· массива ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° numpy ΠΈΠ· numpy import hstack a1 = массив ([1,2,3]) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (a1) a2 = массив ([4,5,6]) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (a2) a3 = стСк ((a1, a2)) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (a3) ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (a3.shape)

# hstack

ΠΈΠ· массива ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° numpy

ΠΈΠ· массива ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° numpy

a1 = array ([1,2,3])

print (a1)

a2 = array ([4,5,6])

print (a2)

a3 = hstack ((a1, a2))

print (a3) ​​

print (a3.Ρ„ΠΎΡ€ΠΌΠ°)

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° сначала ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΡŽΡ‚ΡΡ Π΄Π²Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массива. Π—Π°Ρ‚Π΅ΠΌ массивы ΡƒΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ получаСтся Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив с 6 элСмСнтами, содСрТимоС ΠΈ Ρ„ΠΎΡ€ΠΌΠ° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΡŽΡ‚ΡΡ.

[1 2 3] [4 5 6] [1 2 3 4 5 6] (6,)

[1 2 3]

[4 5 6]

[1 2 3 4 5 6]

(6,)

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ пСрСчислСны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ΄Π΅ΠΈ ΠΏΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡŽ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ.

  • ΠŸΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами создания массивов собствСнного Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈΠ»ΠΈ с Π½ΠΎΠ²Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.
  • НайдитС ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 3 Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ NumPy для создания массивов.
  • НайдитС ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 3 Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ NumPy для объСдинСния массивов.

Если Π²Ρ‹ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΠΈΠ· этих Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ, я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ Π·Π½Π°Ρ‚ΡŒ.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°

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

Книги

Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

API

Π‘Π²ΠΎΠ΄ΠΊΠ°

Π’ этом руководствС Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ N-ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Π² NumPy для прСдставлСния числовых Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ управлСния Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Python.

Π’ частности, Π²Ρ‹ Π²Ρ‹ΡƒΡ‡ΠΈΠ»ΠΈ:

  • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ndarray ΠΈ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ массив Π² Python.
  • ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для создания Π½ΠΎΠ²Ρ‹Ρ… пустых массивов ΠΈ массивов со значСниями ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
  • Как ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ массивы для создания Π½ΠΎΠ²Ρ‹Ρ… массивов.

Π•ΡΡ‚ΡŒ вопросы?
Π—Π°Π΄Π°ΠΉΡ‚Π΅ свои вопросы Π² коммСнтариях Π½ΠΈΠΆΠ΅, ΠΈ я ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ.

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ знания ΠΎ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Π΅ для машинного обучСния!

Π Π°Π·Π²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹

... ΠΏΡƒΡ‚Π΅ΠΌ написания строк ΠΊΠΎΠ΄Π° Π½Π° Python

Π£Π·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π² ΠΌΠΎΠ΅ΠΉ Π½ΠΎΠ²ΠΎΠΉ элСктронной ΠΊΠ½ΠΈΠ³Π΅:
ЛинСйная Π°Π»Π³Π΅Π±Ρ€Π° для машинного обучСния

Он прСдоставляСт самоучитСлСй ΠΏΠΎ Ρ‚Π°ΠΊΠΈΠΌ Ρ‚Π΅ΠΌΠ°ΠΌ, ΠΊΠ°ΠΊ:
Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Π΅ Π½ΠΎΡ€ΠΌΡ‹, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†, Ρ‚Π΅Π½Π·ΠΎΡ€Ρ‹, собствСнноС Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, SVD, PCA ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.