NumPy 算术运算

NumPy 算术运算

NumPy是一个开源的Python库,用于执行阵列计算(矩阵运算)。它是用C语言实现的库的一个封装器,用于执行一些三角、代数和统计操作。NumPy对象可以很容易地转换为其他类型的对象,如Pandas的数据框架和tensorflow的张量。Python list可用于数组计算,但它比NumPy慢得多。NumPy使用矢量化实现了它的快速实现。NumPy数组的一个重要特点是,开发者可以用一个命令对每个元素进行相同的数学运算。

让我们了解一下使用NumPy的算术运算。

import numpy as np
 
# Defining both the matrices
a = np.array([5, 72, 13, 100])
b = np.array([2, 5, 10, 30])
 
# Performing addition using arithmetic operator
add_ans = a+b
print(add_ans)
 
# Performing addition using numpy function
add_ans = np.add(a, b)
print(add_ans)
 
# The same functions and operations can be used for multiple matrices
c = np.array([1, 2, 3, 4])
add_ans = a+b+c
print(add_ans)
 
add_ans = np.add(a, b, c)
print(add_ans)

输出

[  7  77  23 130]
[  7  77  23 130]
[  8  79  26 134]
[  8  79  26 134]

我们可以看到矩阵的形状是一样的,如果它们不一样,Numpy会尝试广播,如果可能的话。读者可以看到,同样的操作(加法)可以用算术运算(+)以及numpy函数(np.add)完成。

import numpy as np
 
# Defining both the matrices
a = np.array([5, 72, 13, 100])
b = np.array([2, 5, 10, 30])
 
# Performing subtraction using arithmetic operator
sub_ans = a-b
print(sub_ans)
 
# Performing subtraction using numpy function
sub_ans = np.subtract(a, b)
print(sub_ans)

输出

[ 3 67  3 70]
[ 3 67  3 70]

用户还可以用一个矩阵和一个常数进行广播

import numpy as np
 
# Defining both the matrices
a = np.array([5, 72, 13, 100])
b = np.array([2, 5, 10, 30])
 
# Performing subtraction using arithmetic operator
sub_ans = a-b-1
print(sub_ans)
 
# Performing subtraction using numpy function
sub_ans = np.subtract(a, b, 1)
print(sub_ans)

输出

[ 2 66  2 69]
[ 2 66  2 69]

import numpy as np
 
# Defining both the matrices
a = np.array([5, 72, 13, 100])
b = np.array([2, 5, 10, 30])
 
# Performing multiplication using arithmetic operator
mul_ans = a*b
print(mul_ans)
 
# Performing multiplication using numpy function
mul_ans = np.multiply(a, b)
print(mul_ans)

输出

[  10  360  130 3000]
[  10  360  130 3000]

import numpy as np
 
# Defining both the matrices
a = np.array([5, 72, 13, 100])
b = np.array([2, 5, 10, 30])
 
# Performing division using arithmetic operators
div_ans = a/b
print(div_ans)
 
# Performing division using numpy functions
div_ans = np.divide(a, b)
print(div_ans)

输出

[ 2.5        14.4         1.3         3.33333333]
[ 2.5        14.4         1.3         3.33333333]

在NumPy中还有无数的其他函数,让我们逐一来看看其中的一些。

mod()和power()函数

示例

# Performing mod on two matrices
mod_ans = np.mod(a, b)
print(mod_ans)
 
#Performing remainder on two matrices
rem_ans=np.remainder(a,b)
print(rem_ans)
 
# Performing power of two matrices
pow_ans = np.power(a, b)
print(pow_ans)

输出

[ 1  2  3 10]
[ 1  2  3 10]
[                 25          1934917632        137858491849
 1152921504606846976]

一些汇总和统计功能

示例

# Getting mean of all numbers in 'a'
mean_a = np.mean(a)
print(mean_a)
 
# Getting average of all numbers in 'b'
mean_b = np.average(b)
print(mean_b)
 
# Getting sum of all numbers in 'a'
sum_a = np.sum(a)
print(sum_a)
 
# Getting variance of all number in 'b'
var_b = np.var(b)
print(var_b)

输出

47.5
11.75
190
119.1875

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Numpy 数学函数