import numpy as np
#python array
a = [1,2,3,4,5,6,7,8,9]
#numpy array
A = np.array([1,2,3,4,5,6,7,8,9])
#Numpy数组远比标准数组紧密,在使用同样单精度变量下,Numpy数组所需内存较小
#此外,Numpy数组是执行更快数值计算的优秀容器
# print(a) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
# print(A) # [1 2 3 4 5 6 7 8 9]
# print(type(a)) # <class 'list'>
#另一种定义数组的方式
c = np.arange(0,10,2) #arangge([start],stop,[step]) 数组取值左闭右开[0 2 4 6 8]
d = np.arange(2,29,5) #[ 2 7 12 17 22 27]
A.shape #(9,) 元素个数。矩阵的维度,秩为1,独立方程的个数
B = A.reshape(3,3) #原有的元素基础上重新构造
#零矩阵
np.zeros((4,3))
# [[ 0. 0. 0.]
# [ 0. 0. 0.]
# [ 0. 0. 0.]
# [ 0. 0. 0.]]
#单位矩阵
np.eye(5)
# [[ 1. 0. 0. 0. 0.]
# [ 0. 1. 0. 0. 0.]
# [ 0. 0. 1. 0. 0.]
# [ 0. 0. 0. 1. 0.]
# [ 0. 0. 0. 0. 1.]]
#np.dot()矩阵点积。执行该乘法的前提是左边矩阵的列数(每行的元素)必须等于右边矩阵的行数,
# 否则就会报错。此外,根据矩阵乘法的定义,左乘和右乘也不一样
I = np.eye(3)
D = np.arange(1,10).reshape(3,3)
M = np.dot(D,I)
# [[ 1. 2. 3.]
# [ 4. 5. 6.]
# [ 7. 8. 9.]]
#使用 np.random.rand() 随机生成矩阵,即给定矩阵的形状,其中每个元素都是随机生成的
np.random.rand(2,3)
# [[ 0.15847386 0.22171854 0.04861573]
# [ 0.15796091 0.06620758 0.73754384]]
#矩阵转置
a = np.array([[1,0],[2,3]])
# [[1 0]
# [2 3]]
b = a.transpose()
# [[1 2]
# [0 3]]
#矩阵的运算
arr = np.array([[1,2,3],[4,5,6]])
print(arr*arr)
print(arr+arr)
print(arr-arr)
print(1/arr)
array = [1,2,3,4]
print(array[::-1]) #步长
#计算矩阵的逆
arr = np.array([1,1,1,1]).reshape(2,2)
print(arr)
print(np.linalg.inv(arr))
print(np.dot(arr,np.linalg.inv(arr)))
python第三方库numpy基本用法
最新推荐文章于 2023-04-28 18:29:42 发布