πŸš€ Как ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ NumPy: Π»Π΅Π³ΠΊΠΈΠΉ способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ вычислСния быстрСС

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ NumPy?

NumPy (Numerical Python) - это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для языка программирования Python, которая прСдоставляСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ…, ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†, Π° Ρ‚Π°ΠΊΠΆΠ΅ для быстрых матСматичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, выполняСмых Π½Π°Π΄ Π½ΠΈΠΌΠΈ.

Как ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ NumPy?

ИспользованиС NumPy позволяСт сущСствСнно ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π·Π° счСт Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. ВмСсто выполнСния Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΏΠΎ элСмСнтам массива, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сразу Π½Π°Π΄ всСм массивом, Ρ‡Ρ‚ΠΎ сильно сокращаСт врСмя выполнСния.

Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ способы ускорСния ΠΊΠΎΠ΄Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ NumPy:

1. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ встроСнныС NumPy Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ вмСсто Ρ†ΠΈΠΊΠ»ΠΎΠ²

import numpy as np

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

# ΠœΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ способ
for i in range(len(a)):
    a[i] = a[i] * 2

# Быстрый способ
a = a * 2

2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

import numpy as np

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

# ΠœΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ способ
for i in range(len(a)):
    a[i] = np.sqrt(a[i])

# Быстрый способ
a = np.sqrt(a)

3. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

import numpy as np

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

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

# ΠœΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ способ
c = np.zeros_like(a)
for i in range(a.shape[0]):
    for j in range(a.shape[1]):
        c[i, j] = a[i, j] + b[j]

# Быстрый способ
c = a + b

Π­Ρ‚ΠΎ лишь нСсколько способов использования NumPy для ускорСния ΠΊΠΎΠ΄Π°. Π’Π°ΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ копирования Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ спСциализированныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ NumPy ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ для максимальной ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

УспСхов Π² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ NumPy!

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ NumPy

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, студСнт! БСгодня ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ использованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ NumPy ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ваш ΠΊΠΎΠ΄. NumPy - это мощная ΠΈ эффСктивная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… вычислСний Π² языкС программирования Python. Она прСдоставляСт мноТСство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ возмоТностСй для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π΅ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΠΎΠΉ для ΠΌΠ½ΠΎΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡.

1. УскорСниС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ массивами

Одно ΠΈΠ· основных прСимущСств NumPy состоит Π² возмоТности Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ массивами эффСктивно ΠΈ быстро. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ простой Π·Π°Π΄Π°Ρ‡ΠΈ - слоТСния Π΄Π²ΡƒΡ… массивов - рассмотрим, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ NumPy.


import numpy as np

# БозданиС массивов
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([6, 7, 8, 9, 10])

# БлоТСниС массивов
result = arr1 + arr2

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм Π΄Π²Π° массива arr1 ΠΈ arr2, Π° Π·Π°Ρ‚Π΅ΠΌ выполняСм ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ слоТСния ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° "+". NumPy осущСствляСт Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ слоТСниС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта массивов ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ускоряСт вычислСния. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ массивом [7, 9, 11, 13, 15].

2. ИспользованиС ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

NumPy ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ мноТСство ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (ufunc), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ элСмСнтами массивов быстрСС, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ использовании стандартных Ρ†ΠΈΠΊΠ»ΠΎΠ². Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ поэлСмСнтно ΠΊ массиву ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ вашСго ΠΊΠΎΠ΄Π°.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для вычислСния ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ корня ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта массива:


import numpy as np

# БозданиС массива
arr = np.array([1, 4, 9, 16, 25])

# ВычислСниС ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ корня
result = np.sqrt(arr)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ np.sqrt() для вычислСния ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ корня ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта массива arr. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ массив [1, 2, 3, 4, 5]. Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² NumPy Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ способом, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈΡ… Π±ΠΎΠ»Π΅Π΅ эффСктивными ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ.

3. ИспользованиС индСксации ΠΈ срСзов

NumPy прСдоставляСт ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ возмоТности для индСксации ΠΈ срСзов массивов, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ сущСствСнно ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° рассмотрим Π·Π°Π΄Π°Ρ‡Ρƒ поиска максимального элСмСнта Π² массивС:


import numpy as np

# БозданиС массива
arr = np.array([10, 5, 8, 12, 3])

# Поиск максимального элСмСнта
max_element = np.max(arr)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ np.max() для поиска максимального элСмСнта Π² массивС arr. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ»Π° ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π½Π°Π΄ массивом с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² NumPy. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ число 12.

4. ИспользованиС Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ

ВСкторизация - это процСсс прСобразования ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ скалярными значСниями Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π½Π°Π΄ массивами. Π’ NumPy Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


import numpy as np

# БозданиС массива
arr = np.array([1, 2, 3])

# Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ элСмСнтов массива Π½Π° скаляр
result = arr * 5

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΡƒΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт массива arr Π½Π° скалярноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 5 с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° "*". NumPy автоматичСски выполняСт Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ примСняСт Π΅Π΅ ΠΊΠΎ всСм элСмСнтам массива ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ массив [5, 10, 15]. Π­Ρ‚ΠΎ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ эффСктивный ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, Ρ‡Π΅ΠΌ использованиС Ρ†ΠΈΠΊΠ»Π° для умноТСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.

5. ИспользованиС вычислСний Π² стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Python

Если Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ слоТныС матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ вычислСния с большой Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ. Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…:

  • math.exp(x) - вычисляСт экспонСнту x.
  • math.sin(x) - вычисляСт синус x.
  • math.cos(x) - вычисляСт косинус x.
  • math.log(x) - вычисляСт Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌ x.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ math.exp() для вычислСния экспонСнты:


import math

# ВычислСниС экспонСнты
result = math.exp(2)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ math.exp() для вычислСния экспонСнты числа 2. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 7.3890560989306495.

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

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

NumPy - это мощная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами Π΄Π°Π½Π½Ρ‹Ρ… Π² Python. ΠœΡ‹ рассмотрСли нСсколько способов, ΠΊΠ°ΠΊ использованиС NumPy ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ваш ΠΊΠΎΠ΄. УскорСниС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ массивами, использованиС ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, индСксации ΠΈ срСзов, Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ· стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Python - всС это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ вашСго ΠΊΠΎΠ΄Π° ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ.

НадСюсь, этот ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Π±Ρ‹Π» ΠΏΠΎΠ»Π΅Π·Π΅Π½ для вас! УспСхов Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

⚑ Π£Π‘ΠšΠžΠ Π―Π•Πœ PYTHON Π² 20 РАЗ! | Новый способ :3

Ускорил PYTHON Π² 100 РАЗ | НС ΠΊΠ»ΠΈΠΊΠ±Π΅ΠΉΡ‚ | УскорСниС Python ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Numba | Как ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Python

Π‘Π°ΠΌΡ‹ΠΉ Π‘Π«Π‘Π’Π Π«Π™ стандартный Ρ†ΠΈΠΊΠ» Python βˆ’ Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с языком Π‘ΠΈ

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸš€ Как ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ NumPy: Π»Π΅Π³ΠΊΠΈΠΉ способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ вычислСния быстрСС