πŸ“š Π—Π°Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ NumPy Π² Python?

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° NumPy Π² Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для:

  • ВыполнСния матСматичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π° массивах Π΄Π°Π½Π½Ρ‹Ρ… Π±ΠΎΠ»Π΅Π΅ эффСктивно ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ.
  • Π Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами Π΄Π°Π½Π½Ρ‹Ρ….
  • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π²Π΅ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ.
  • Π“Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ случайных чисСл.
  • ВыполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, срСзам ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ массивов.
  • УскорСния вычислСний Π·Π° счСт использования ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования NumPy:


import numpy as np

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

# Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ матСматичСской ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
result = np.sum(arr)

print(result)  # Π’Ρ‹Π²ΠΎΠ΄: 15
    

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

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° NumPy Π² Python: Для Ρ‡Π΅Π³ΠΎ?

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

1. ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

Одной ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… возмоТностСй NumPy являСтся Ρ€Π°Π±ΠΎΡ‚Π° с ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами. NumPy прСдоставляСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ndarray (N-dimensional array), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² N-ΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивах. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ, изобраТСниями ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

import numpy as np

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива
arr1d = np.array([1, 2, 3, 4, 5])

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива
arr2d = np.array([[1, 2, 3], [4, 5, 6]])

ИспользованиС ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ мноТСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ индСксация, срСзы, матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Благодаря эффСктивному Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌΡƒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ…, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° NumPy позволяСт ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ большиС ΠΎΠ±ΡŠΠ΅ΠΌΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… эффСктивно ΠΈ с высокой ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ.

2. ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

NumPy ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ€ матСматичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ слоТных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ массивами. Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ поэлСмСнтно, выполняя ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ элСмСнтС массива.

import numpy as np

# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ матСматичСской Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: синус
arr = np.array([0, np.pi/2, np.pi])
result = np.sin(arr)
print(result)  # [0.         1.         1.2246468e-16]

Π­Ρ‚ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с массивами Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСэффСктивным.

3. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹

NumPy прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†, Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ систСм Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ ΠΈ Ρ‚. Π΄. Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΌΠΈ модСлями, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигналов ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, связанных с Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€ΠΎΠΉ.

import numpy as np

# Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
result = np.dot(a, b)
print(result)  # [[19 22] [43 50]]

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° NumPy обСспСчиваСт эффСктивныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ для выполнСния этих ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‡Ρ‚ΠΎ позволяСт быстро ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Π΅ вычислСния.

4. Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ

NumPy ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ мноТСствС Π΄Ρ€ΡƒΠ³ΠΈΡ… Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… ΠΈ числСнных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Python, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ SciPy, Pandas ΠΈ matplotlib. Она обСспСчиваСт ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΈ эффСктивный способ прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ Π½ΠΈΠΌΠΈ.

import numpy as np
import matplotlib.pyplot as plt

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ массива Π΄Π°Π½Π½Ρ‹Ρ…
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)

# ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°
plt.plot(x, y)
plt.xlabel('X')
plt.ylabel('Y')
plt.title('Бинусоида')
plt.show()

Вакая интСграция позволяСт эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ NumPy Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… областях Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½Ρ‹Ρ… вычислСний.

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

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

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

ΠžΡΠ½ΠΎΠ²Ρ‹ NumPy Python | ΠœΠ°ΡΡΠΈΠ²Ρ‹, ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ И ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Над Ними

#1 | Python NumPy | Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ array, arange ΠΈ dot

Π‘Π΅ΠΌΠΈΠ½Π°Ρ€. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Numpy

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

πŸ”₯ Как эффСктивно ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ список ΠΎΡ‚ символов Π² Python? πŸ’‘

πŸ”‘ Как ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ python консоль: простая инструкция для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Как ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ссылкС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python? 🐍

πŸ“š Π—Π°Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ NumPy Π² Python?

Π’Ρ‹Π±ΠΎΡ€ Ρ‚Π΅Ρ€Ρ€Π°Ρ€ΠΈΡƒΠΌΠ° для ΠΏΠΈΡ‚ΠΎΠ½Π°: всС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ! 🐍

πŸ” Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ Π½Π° Python: простыС шаги ΠΈ ΠΊΠΎΠ΄

НаиболСС вСроятно ΠΈΠ·-Π·Π° цикличСского ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Python: ΠΊΠ°ΠΊ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ