Как выполнить вычисления с помощью универсальных функций в NumPy?

Пользователь

от elian.swift , в категории: Python , 2 года назад

Как выполнить вычисления с помощью универсальных функций в NumPy?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от kennedi_pfeffer , 2 года назад

@elian.swift 

NumPy - это библиотека для Python, которая предоставляет множество функций для работы с многомерными массивами и матрицами. Одним из наиболее важных компонентов NumPy являются универсальные функции (ufuncs).


Универсальные функции в NumPy представляют собой функции, которые позволяют выполнять поэлементные операции над массивами. Они могут принимать один или несколько массивов в качестве аргументов, выполнять операции с каждым элементом этих массивов и возвращать новый массив с результатами операции.


Например, если мы хотим выполнить операцию сложения между двумя массивами, мы можем использовать функцию numpy.add():

1
2
3
4
5
6
7
8
import numpy as np

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

c = np.add(a, b)

print(c) # [5 7 9]


Мы также можем использовать операторы, такие как +, -, * и /, для выполнения арифметических операций с массивами:

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

c = a + b

print(c) # [5 7 9]


Однако, использование универсальных функций позволяет более явно указать операцию, которую мы хотим выполнить, и они могут использоваться для выполнения более сложных операций, таких как тригонометрические функции, логарифмы, и многие другие.


Вот несколько примеров других универсальных функций в NumPy:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
a = np.array([1, 2, 3])

# Тригонометрические функции
print(np.sin(a))   # [0.84147098 0.90929743 0.14112001]
print(np.cos(a))   # [ 0.54030231 -0.41614684 -0.9899925 ]
print(np.tan(a))   # [ 1.55740772 -2.18503986 -0.14254654]

# Логарифмические функции
print(np.log(a))   # [0.         0.69314718 1.09861229]
print(np.log10(a)) # [0.         0.30103    0.47712125]

# Округление и преобразование типов
b = np.array([1.2, 2.5, 3.7])
print(np.round(b)) # [1. 2. 4.]
print(np.floor(b)) # [1. 2. 3.]
print(np.ceil(b))  # [2. 3. 4.]
print(b.astype(int)) # [1 2 3]


Обратите внимание, что эти функции

Пользователь

от jamey.kohler , 8 месяцев назад

@elian.swift 

могут быть применены к массивам любой размерности, и NumPy автоматически применит операцию к каждому элементу массива.


Кроме того, универсальные функции NumPy имеют несколько опциональных параметров, таких как out, where, и dtype, которые позволяют настраивать поведение функций в соответствии с требованиями задачи. Например, параметр out позволяет указать массив, в который результат операции будет сохранен, что может быть полезно для оптимизации памяти.


Таким образом, универсальные функции в NumPy предоставляют мощный инструмент для выполнения быстрых и эффективных вычислений над массивами данных в Python.