如果你的Python还没有安装相关模块的话,那就建议看看我的小白教程哦!Python的Anaconda,Spyder的安装
安装好了之后,我们就可以开始啦!
import numpy as np
a = np.array([[0,0],[0,1],[3,0]])
>>>[[0 0]
[0 1]
[3 0]]
import numpy as np
np.random.seed(0) #设置随机数种⼦
np.random.random(3) #随机⽣成3个浮点数
>>>array([0.5488135 , 0.71518937, 0.60276338])
np.random.randint(0,11,3) #从0到10随机⽣成3个整数
>>>array([3, 7, 9])
np.random.normal(0.0,1.0,3) #从平均值0且标准差1的正态分布中随机⽣成3个数
>>>array([ 0.95008842, -0.15135721, -0.10321885])
import numpy as np
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
b = np.array([[1,1,1],[1,1,1],[1,1,1]])
np.linalg.matrix_rank(a) #矩阵的秩
>>>2
np.linalg.det(a) #矩阵的⾏列式
>>>0
a.trace() #矩阵的迹
>>>15
c,d = np.linalg.eig(a)
c #矩阵的特征值
>>>array([ 1.61168440e+01, -1.11684397e+00, -4.22209278e-16])
d #矩阵的特征向量
>>> array([[-0.23197069, -0.78583024, 0.40824829],
[-0.52532209, -0.08675134, -0.81649658],
[-0.8186735 , 0.61232756, 0.40824829]])
np.add(a,b) #将两个矩阵相加 。也可以简单使⽤+,例如a+b
>>>array([ [ 2, 3, 4],
[ 5, 6, 7],
[ 8, 9, 10]])
np.subtract(a,b) #将两个矩阵相减(a-b)
>>>array([ [0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
np.dot(a,b) #将两个矩阵相乘 (a@b)
>>>array([ [ 6, 6, 6],
[15, 15, 15],
[24, 24, 24]])
c = np.array([[1,2],[3,4]])
np.linalg.inv(c)
>>>array([ [-2. , 1. ],
[ 1.5, -0.5]])
import numpy as np
a = np.array([0,0,0,1,3,0])
a.reshape(2,3) #对矩阵的⾏数列数进⾏改变 ,但要保证最终个数不变,即矩阵的size 不变
>>>[[0, 0, 0],
[1, 3, 0]]
a.T #对矩阵进⾏转置
>>>[[0, 0, 3],
[0, 1, 0]]
import numpy as np
a = np.array([[0, 1], [0, 1], [3, 0]])
np.mean(a) #返回矩阵的平均值(所有数据和/数据个数)
>>>0.6666666666666666
np.mean(a[1]) #返回a矩阵的第⼆⾏的平均值
>>> 0.5
np.var(a) #⽅差
>>>1.1388888888888888
np.std(a) #标准差
>>>1.0671873729054748
import numpy as np
a = np.array([[0, 1], [0, 1], [3, 0]])
np.max(a)
>>>3
np.max(a[1])
>>>1
np.min(a)
>>> 0
np.max(a,axis=0) #找出每列的最⼤值 ,axis=1,找出每⾏的最⼤值
>>> array([3, 1])
import numpy as np
a = np.array([[0, 1], [0, 1], [3, 0]])
add_100 = lambda x: x+100
vectorize_add_100 = np.vectorize(add_100)
vectorize_add_100(a)
>>>[[100, 100],
[100, 101],
[103, 100]] #即对矩阵内的每⼀个数据或者特定(vectorize_add_100(a[1]) ,即会对a矩阵的第⼆⾏使⽤函数)的数据使⽤函数,但是并不会改变原来矩阵的内容,a 矩 阵的内容并未改变。
Import numpy as np
a = np.array([[0,0],[0,1],[3,0]])
a.shape
>>>(3,2)#即输出矩阵的⾏数和列数
a.size
>>>6 #即输出矩阵的个数 ,当使⽤矩阵压缩之后,只会显示压缩后的个数,即b.size 输出将会是2,压缩之后只有两个数据了
a.ndim
>>>2 #输出矩阵的维数 ,压缩不影响矩阵的维数
import numpy as np
from scipy import sparse
a = np.array([[0,0],[0,1],[3,0]])
b = sparse.csr_matrix(a)
print(b)
>>>(1, 1) 1
(2, 0) 3 #前⾯代表坐标,后⾯代表数值,当0值较多时使⽤矩阵压缩能⼤量减少存储空间
更多详情可见官网https://numpy.org