Python向量操作完全指南:从基础到高级应用
大家好!今天我们将学习一个在Python中被忽略的话题,即Python中的向量。让我们开始吧!
首先,什么是向量?
一个向量可以简单地被视为单维数组。在Python中,向量是一个由列表组成的一维数组。它与Python列表类似地占据元素的位置。
让我们现在来了解Python中向量的创建过程。
在Python中创建一个向量
Python NumPy模块用于创建向量。我们使用numpy.array()方法创建一维数组,即向量。
numpy.array(list)
例子1:水平向量
import numpy as np
lst = [10,20,30,40,50]
vctr = np.array(lst)
print("从列表创建的向量:")
print(vctr)
输出:
从列表创建的向量:
[10 20 30 40 50]
例子2:垂直向量
import numpy as np
lst = [[2],
[4],
[6],
[10]]
vctr = np.array(lst)
print("从列表创建的向量:")
print(vctr)
输出:
从列表创建的向量:
[[ 2]
[ 4]
[ 6]
[10]]
对Python向量进行基本操作
创建了一个向量之后,让我们现在来进行一些基本操作吧!
这是一个可以在向量上执行的基本操作列表:
- 加法
- 减法
- 乘法
- 除法
- 点积等
让我们开始吧!
对Python向量进行加法运算
这是文章《Python中的向量 – 一个快速介绍!》的第2部分(共6部分)。
1. 向量加法运算
下面,我们对向量进行矢量加法运算。
加法操作将以逐元素的方式进行,即逐个元素进行相加,并且最终结果向量的长度与两个加法向量相同。
语法:
vector + vector
示例代码:
import numpy as np
lst1 = [10,20,30,40,50]
lst2 = [1,2,3,4,5]
vctr1 = np.array(lst1)
vctr2 = np.array(lst2)
print("从列表1创建的向量:")
print(vctr1)
print("从列表2创建的向量:")
print(vctr2)
vctr_add = vctr1+vctr2
print("两个向量相加的结果:",vctr_add)
输出结果:
从列表1创建的向量:
[10 20 30 40 50]
从列表2创建的向量:
[1 2 3 4 5]
两个向量相加的结果:[11 22 33 44 55]
2. 进行两个向量的减法运算
在相似的方式下,向量减法也是按照逐个元素的方式进行的,即从向量1的对应元素中减去向量2的元素。
让我们来看看它的实现吧!
import numpy as np
lst1 = [10,20,30,40,50]
lst2 = [1,2,3,4,5]
vctr1 = np.array(lst1)
vctr2= np.array(lst2)
print("从列表1创建的向量:")
print(vctr1)
print("从列表2创建的向量:")
print(vctr2)
vctr_sub = vctr1-vctr2
print("两个向量的减法结果:",vctr_sub)
输出结果:
从列表1创建的向量:
[10 20 30 40 50]
从列表2创建的向量:
[1 2 3 4 5]
两个向量的减法结果:[ 9 18 27 36 45]
3. 进行两个向量的乘法运算
4. 向量乘法运算
这是文章《Python中的向量 – 一个快速介绍!》的第4部分(共6部分)。
在向量乘法中,第一个向量的元素与第二个向量的对应元素相乘,得到的乘积向量长度与原始向量相同。
让我们尝试将乘法运算可视化:
假设 x = [10,20] 和 y = [1,2] 是两个向量。那么,乘积向量将为 v[]。
v[0] = x[0] * y[0]
v[1] = x[1] * y[1]
也就是:
v[0] = x[0] 乘以 y[0]
v[1] = x[1] 乘以 y[1]
请看下面的代码示例:
import numpy as np lst1 = [10,20,30,40,50]
lst2 = [1,2,3,4,5]
vctr1 = np.array(lst1)
vctr2= np.array(lst2)
print("从列表1创建的向量:")
print(vctr1)
print("从列表2创建的向量:")
print(vctr2)
vctr_mul = vctr1*vctr2
print("两个向量相乘的结果: ",vctr_mul)
输出结果:
从列表1创建的向量:
[10 20 30 40 50]
从列表2创建的向量:
[1 2 3 4 5]
两个向量相乘的结果: [ 10 40 90 160 250]
5. 向量除法运算
在向量除法中,结果向量是对两个向量进行除法运算后得到的商值。
为了更好地理解,考虑以下示例。
x = [10, 20] 和 y = [1, 2] 是两个向量。因此,结果向量 v 将是,
v[0] = 第一个元素 x[0] 除以第一个元素 y[0]
v[1] = 第二个元素 x[1] 除以第二个元素 y[1]
让我们现在实施上述的概念。
import numpy as np
lst1 = [10,20,30,40,50]
lst2 = [10,20,30,40,50]
vctr1 = np.array(lst1)
vctr2= np.array(lst2)
print("从列表1创建的向量:")
print(vctr1)
print("从列表2创建的向量:")
print(vctr2)
vctr_div = vctr1/vctr2
print("两个向量的除法:",vctr_div)
输出:
从列表1创建的向量:
[10 20 30 40 50]
从列表2创建的向量:
[10 20 30 40 50]
两个向量的除法:[ 1 1 1 1 1 ]
5. 向量点积
在向量点乘中,我们以逐个元素的方式进行两个向量的乘积求和。
让我们来看看下面的内容。
向量 c = x 与 y 的点积 = (x1 * y1 + x2 * y2)
例子:
import numpy as np
lst1 = [10,20,30,40,50]
lst2 = [1,1,1,1,1]
vctr1 = np.array(lst1)
vctr2= np.array(lst2)
print("从列表1创建的向量:")
print(vctr1)
print("从列表2创建的向量:")
print(vctr2)
vctr_dot = vctr1.dot(vctr2)
print("两个向量的点积:",vctr_dot)
输出:
从列表1创建的向量:
[10 20 30 40 50]
从列表2创建的向量:
[1 1 1 1 1]
两个向量的点积:150
结论
通过本系列教程,我们已经完成了Python中向量的学习。
为了更深入地理解向量,建议你尝试创建一个向量并进行上述操作,然后在评论区分享你的理解!
如果在学习过程中遇到任何问题,欢迎在下方留言。想了解更多Python相关的教程,请持续关注我们的更新。
祝学习愉快!