Python数组和矩阵的用法解读
Python中,数组和矩阵是常用的数据类型。本文将从定义、创建、修改、访问和操作等几个方面,对数组和矩阵的用法进行详细讲解。
定义
数组和矩阵是由相同类型元素构成的多维数据结构。
数组
在Python中,数组通常指的是Numpy中的array。其定义方式如下:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
此处创建了一个包含5个元素的一维数组arr。
矩阵
在Python中,矩阵通常指的是Numpy中的matrix。其定义方式如下:
import numpy as np
mat = np.matrix([[1, 2], [3, 4]])
此处创建了一个2x2的矩阵mat。
创建
数组
要创建一个空数组,可以使用Numpy中的empty函数:
import numpy as np
arr = np.empty([2, 3])
此处创建了一个2x3的空数组arr。
当然,还可以使用zeros和ones函数分别创建全是0和全是1的数组:
import numpy as np
zeros_arr = np.zeros([2,3])
ones_arr = np.ones([2,3])
矩阵
要创建一个空矩阵,可以使用Numpy中的empty函数,只需要指定shape即可:
import numpy as np
mat = np.empty([2, 3])
此处创建了一个2x3的空矩阵mat。
当然,还可以使用zeros和ones函数分别创建全是0和全是1的矩阵:
import numpy as np
zeros_mat = np.zeros([2,3])
ones_mat = np.ones([2,3])
访问
数组
要访问数组中的元素,可以简单地使用下标:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr[0]) # 输出1
矩阵
要访问矩阵中的元素,需要指定行和列的下标:
import numpy as np
mat = np.matrix([[1, 2], [3, 4]])
print(mat[0, 0]) # 输出1
修改
数组
要修改数组中的元素,也可以使用下标:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
arr[0] = 0
print(arr) # 输出[0, 2, 3, 4, 5]
矩阵
要修改矩阵中的元素,同样需要指定行和列的下标:
import numpy as np
mat = np.matrix([[1, 2], [3, 4]])
mat[0, 0] = 0
print(mat) # 输出[[0, 2], [3, 4]]
操作
数组
数组的基本操作包括加、减、乘、除等:
import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
# 数组相加
c = a + b
print(c) # 输出[5, 7, 9]
# 数组相减
c = a - b
print(c) # 输出[-3, -3, -3]
# 数组相乘
c = a * b
print(c) # 输出[4, 10, 18]
# 数组相除
c = a / b
print(c) # 输出[0.25, 0.4, 0.5]
矩阵
矩阵的基本操作包括加、减、乘、除等:
import numpy as np
a = np.matrix([[1, 2], [3, 4]])
b = np.matrix([[5, 6], [7, 8]])
# 矩阵相加
c = a + b
print(c) # 输出[[6, 8], [10, 12]]
# 矩阵相减
c = a - b
print(c) # 输出[[-4, -4], [-4, -4]]
# 矩阵相乘
c = a * b
print(c) # 输出[[19, 22], [43, 50]]
# 矩阵相除
c = a / b # 这里除法是按照矩阵乘法的逆矩阵来进行的运算,因此返回结果并不是矩阵的真正除法
print(c) # 输出[[1.66666667, 2.33333333], [3.85714286, 5.14285714]]
示例
示例1:求两个矩阵的点积
import numpy as np
a = np.random.randint(0, 10, [2,2])
#[[1 9]
# [8 2]]
b = np.random.randint(0, 10, [2,2])
#[[6 8]
# [3 7]]
res = np.dot(a, b)
# a.dot(b) 或者 np.matmul(a, b)也可以
#[[33 71]
# [54 74]]
print(res)
示例2:将矩阵沿轴旋转
import numpy as np
x = np.zeros((3, 4))
y = np.rot90(x)
print(x.shape) # 输出(3, 4)
print(y.shape) # 输出(4, 3)
在这个示例中,我们创建了一个3x4的矩阵x,并使用np.rot90函数将其沿轴旋转。最终我们得到了一个4x3的矩阵y。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python数组和矩阵的用法解读 - Python技术站