【基础知识】NumPy入门

【基础知识】NumPy入门,第1张

支持大量高维度数组与矩阵运算

NumPy的主要对象是多维数组Ndarray。

目录

一、创建数组

二 、运算

1、数组

2、矩阵


一、创建数组
#列表创建一维数组
np.array([1,2,3])
np.array([True, False])  #布尔值也可以
#二维数组
np.array([[1,2,3],[4,5,6]])
#全为0的二维数组
np.zeros((3,4))
#全为1的三维数组
np.ones((2,3,4))
array([[0., 0., 0., 0.],
       [0., 0., 0., 0.],
       [0., 0., 0., 0.]])
array([[[1., 1., 1., 1.],
        [1., 1., 1., 1.],
        [1., 1., 1., 1.]],

       [[1., 1., 1., 1.],
        [1., 1., 1., 1.],
        [1., 1., 1., 1.]]])
#full函数 创建任意大小的数组并填充任意数字
np.full((3,4),2)
array([[2, 2, 2, 2],
       [2, 2, 2, 2],
       [2, 2, 2, 2]])
#创建一维等差数组
np.arange(5)
#创建二维等差数组
np.arange(6).reshape(2,3)
array([0, 1, 2, 3, 4])
array([[0, 1, 2],
       [3, 4, 5]])
#创建单位矩阵
np.eye(3)
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])
#创建二维随机数组
np.random.rand(2,3)
array([[0.40139948, 0.04996998, 0.05560169],
       [0.35122133, 0.81687633, 0.87147317]])
#创建二维随机数组(数值小于5)
np.random.randint(5,size=(2,3))

array([[0, 0, 0],
       [1, 3, 3]])
二 、运算 1、数组
a=np.array([10,20,30])
b=np.arange(1,6)
a,b
(array([10, 20, 30]), array([1, 2, 3, 4, 5]))

 sum

a=np.array([[1,2],[3,4]])
np.sum(a)
np.sum(a,axis=0)  #对列求和
np.sum(a,axis=1)  #对行求和
a.sort() #排序
10
array([4, 6])
array([3, 7])
#求平均值
np.mean(a)
a.cumsum()  #累加
a.cumprod() #累乘

#tile,将数组a变成一行两列
np.tile(a,(1,2))
#变成两行一列
np.tile(a,(2,1))
array([[1, 2, 1, 2],
       [3, 4, 3, 4]])
array([[1, 2],
       [3, 4],
       [1, 2],
       [3, 4]])
a=np.arange(-5,5)
a>0
np.where(a>0,2,-2)  #所有正值替换为2,负值替换为-2
np.where(a>0,2,a)   #正值为2,负值不变

 

array([-5, -4, -3, -2, -1,  0,  1,  2,  3,  4])
array([False, False, False, False, False, False,  True,  True,  True,
        True])
array([-2, -2, -2, -2, -2, -2,  2,  2,  2,  2])
array([-5, -4, -3, -2, -1,  0,  2,  2,  2,  2])
#一维数组间运算
a+b
a-b
a*b
a/b

#二维数组间运算 在相应位置上进行+-×÷
a=np.array([[1,2],[3,4]])
b=np.array([[5,6],[7,8]])
a*b
array([[ 5, 12],
       [21, 32]])
2、矩阵
#矩阵乘法
np.dot(a,b)   #与a*b不同

#也可用np.mat 将二维数组定义为矩阵
np.mat(a)*mat(b)

array([[19, 22],
       [43, 50]])
matrix([[19, 22],
        [43, 50]])
a.T    #转置矩阵
np.linalg.inv(a)   #矩阵求逆

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/956995.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-18
下一篇 2022-05-18

发表评论

登录后才能评论

评论列表(0条)

保存