πŸ” Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ numpy: ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ источнику ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами


import numpy as np

# Π’Ρ…ΠΎΠ΄Π½ΠΎΠΉ массив
arr = np.array([1, 2, 3, 4, 5])

# Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ‚ΠΈΠΏ массива
print(type(arr))

# Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ„ΠΎΡ€ΠΌΡƒ (Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹) массива
print(arr.shape)

# Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива
print(arr.ndim)

# Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ Ρ„ΠΎΡ€ΠΌΡƒ массива
new_arr = arr.reshape((2, 3))
print(new_arr)

# Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ массив Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΉ нулями
zero_arr = np.zeros((2, 2))
print(zero_arr)

# Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ массив Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΉ Π΅Π΄ΠΈΠ½ΠΈΡ†Π°ΠΌΠΈ
ones_arr = np.ones((3, 3))
print(ones_arr)

# Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ массив Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΉ случайными значСниями
random_arr = np.random.random((2, 2))
print(random_arr)

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

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ numpy: Ρ€Π°Π·ΡŠΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°

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

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° исходного ΠΊΠΎΠ΄Π°

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ numpy Π»Π΅ΠΆΠΈΡ‚ Π² ΠΏΠ°ΠΏΠΊΠ΅ numpy Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ°ΠΏΠΊΠΈ с установлСнным ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ numpy. Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ°ΠΏΠΊΠΈ numpy Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ряд ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΎΠΊ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²:

  • core: содСрТит основной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» numpy, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ массивы, ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π½ΠΈΠΌΠΈ.
  • lib: содСрТит Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ numpy.
  • fft: содСрТит Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π€ΡƒΡ€ΡŒΠ΅.
  • linalg: содСрТит Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€ΠΎΠΉ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… систСм ΠΈ вычислСниС собствСнных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†.
  • random: содСрТит Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ случайных чисСл.
  • ... ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΠΈ ΠΈ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ возмоТности ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ numpy.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° исходного ΠΊΠΎΠ΄Π° numpy построСна Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ ΠΈ поиск Π½ΡƒΠΆΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ numpy Π² своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с массивами

import numpy as np

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

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

# Π’Ρ‹Π²ΠΎΠ΄ размСрности массивов
print(f"Π Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ arr1d: {arr1d.ndim}")
print(f"Π Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ arr2d: {arr2d.ndim}")

# Π’Ρ‹Π²ΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΡ‹ массивов
print(f"Π€ΠΎΡ€ΠΌΠ° arr1d: {arr1d.shape}")
print(f"Π€ΠΎΡ€ΠΌΠ° arr2d: {arr2d.shape}")

# ИзмСнСниС Ρ„ΠΎΡ€ΠΌΡ‹ массива
reshaped_arr = arr1d.reshape((5, 1))
print(f"Π€ΠΎΡ€ΠΌΠ° reshaped_arr: {reshaped_arr.shape}")

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ использовали Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ np.array() для создания ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ ΠΈ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массивов. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ Π²Ρ‹Π²Π΅Π»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ ΠΈ Ρ„ΠΎΡ€ΠΌΡƒ массивов, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2: ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с массивами

import numpy as np

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… массивов
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([6, 7, 8, 9, 10])

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

# УмноТСниС массивов
mul_arr = arr1 * arr2

# Π’ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ массива Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ
pow_arr = arr1 ** 2

# Π’Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²
print(f"Π‘ΡƒΠΌΠΌΠ°: {sum_arr}")
print(f"Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅: {mul_arr}")
print(f"Π’ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ: {pow_arr}")

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3: ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ numpy

import numpy as np

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

# ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ срСднСго значСния
mean_val = np.mean(arr)

# ВычислСниС суммы элСмСнтов
sum_val = np.sum(arr)

# НахоТдСниС максимального значСния
max_val = np.max(arr)

# Π’Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²
print(f"Π‘Ρ€Π΅Π΄Π½Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: {mean_val}")
print(f"Π‘ΡƒΠΌΠΌΠ° элСмСнтов: {sum_val}")
print(f"МаксимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: {max_val}")

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ использовали Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ numpy, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ np.mean(), np.sum() ΠΈ np.max(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ срСднСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, сумму элСмСнтов ΠΈ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ массива.

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

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

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

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

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

Python IndexError: List Index Out of Range [Easy Fix]

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

πŸ” Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ numpy: ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ источнику ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами

πŸ‹οΈβ€β™‚οΈ Π’Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ задания numpy: упраТнСния для развития ΡƒΠΌΠ΅Π½ΠΈΠΉ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ πŸ“š