numpy库

1.生成数组

>>> import numpy as np
>>> np.arange(4)
array([0, 1, 2, 3])

>>> np.array([1,2])
array([1, 2])

>>> np.array(range(5))
array([0, 1, 2, 3, 4])

>>> np.linspace(0,10,11)  #等差数列
array([ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.])

>>> np.zeros(3) #全0一维数组
array([0., 0., 0.])

>>> np.ones(5)    #全1一维数组
array([1., 1., 1., 1., 1.])

>>> np.ones((2,3))
array([[1., 1., 1.],
       [1., 1., 1.]])

>>> np.identity(2)  #单位矩阵
array([[1., 0.],
       [0., 1.]])

>>> np.empty((3,2)) #生成空数组,只申请空间而不初始化,元素值不确定
array([[1., 1.],
       [1., 1.],
       [1., 1.]])
       
>>> np.random.randint(0,50,6)  #在(0,50)之间生成6个整数
array([22, 28, 19, 15, 46, 10])
>>> 

>>> np.diag([1,2,3])  #生成对角矩阵
array([[1, 0, 0],
       [0, 2, 0],
       [0, 0, 3]])
  1. 数组的简单应用

创建和修改

>>> x = np.arange(8)
>>> x
array([0, 1, 2, 3, 4, 5, 6, 7])
>>> np.append(x,8)   #返回新数组,增加元素
array([0, 1, 2, 3, 4, 5, 6, 7, 8])
>>> x
array([0, 1, 2, 3, 4, 5, 6, 7])    #不影响原来的数组
>>> y=np.append(x,[10])
>>> y
array([ 0,  1,  2,  3,  4,  5,  6,  7, 10])
>>> x
array([0, 1, 2, 3, 4, 5, 6, 7])
>>> x[1]=11  #原地修改元素值
>>> x
array([ 0, 11,  2,  3,  4,  5,  6,  7])
>>> np.insert(x,1,12)  #插入元素,返回新数组,不影响原来的数组
array([ 0, 12, 11,  2,  3,  4,  5,  6,  7])

>>> x.repeat(2)  #元素重复,返回新数组
array([ 0,  0, 11, 11,  2,  2,  3,  3,  4,  4,  5,  5,  6,  6,  7,  7])
#与列表的重复(与整数相乘)不同

元素访问
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
排序
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

运算

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

点积/内积
在这里插入图片描述
在这里插入图片描述

支持函数运算

>>> a
array([[1, 2, 3],
       [3, 4, 6]])
>>> np.sin(a)     #所有元素求正弦值
array([[ 0.84147098,  0.90929743,  0.14112001],
       [ 0.14112001, -0.7568025 , -0.2794155 ]])

>>> np.round(_)    #所有元素四舍五入
array([[ 1.,  1.,  0.],
       [ 0., -1., -0.]])


>>> d=np.random.rand(10)* 10
>>> d
array([4.18480207, 0.01846227, 5.88735248, 4.88020411, 2.57551268,
       7.09798461, 1.54136358, 4.31467582, 0.37153993, 8.35910885])
>>> np.floor(d)  #向下取整
array([4., 0., 5., 4., 2., 7., 1., 4., 0., 8.])
>>> np.ceil(d)    #向上取整
array([5., 1., 6., 5., 3., 8., 2., 5., 1., 9.])

>>>np.absolute(-3)   #绝对值或模
3
>>>np.absolute(3+4j)
5.0
>>>np.log2(8)   #对数
3.0
>>>np.multiply([1,2,3],[4,5,6])  #乘积
array([4,10,18])
>>>np.multiply(2,[4,5,6])
array([8,10,12])
  1. 矩阵
    创建矩阵
>>> a_list=[2,4,6]
>>> a_mat=np.matrix(a_list)  #创建
>>> a_mat
matrix([[2, 4, 6]])
>>> a_mat.T    #区别于数组的转置
matrix([[2],
        [4],
        [6]])

>>> x=np.array([1,3,5])
>>> x.T
array([1, 3, 5])

>>> a_mat.shape  #形状
(1, 3)
>>> a_mat.size   #元素个数
3
#矩阵乘法 #区别于数组
>>> a_mat=np.matrix((1,2,3))
>>> b_mat=np.matrix((2,4,6))
>>> a_mat*b_mat.T  #转置
matrix([[28]])

>>> a_mat.mean()
2.0
>>> a_mat.sum()
6
>>> a_mat.max(axis=1)
matrix([[3]])
>>> a_mat.max(axis=0)  #纵向最大值
matrix([[1, 2, 3]])

在这里插入图片描述

#不是方阵时,返回的对角元素
>>> d_mat=np.matrix([[1,2,3],[2,4,6]])
>>> d_mat.diagonal()
matrix([[1, 4]])

二维矩阵计算
在这里插入图片描述

子模块
在这里插入图片描述

>>> x=[-1,-2,-4]
>>> y=[5,2,7]
>>> z=np.vstack((x,y))  #压缩成一个矩阵
>>> z
array([[-1, -2, -4],
       [ 5,  2,  7]])
>>> np.cov(z)
array([[ 2.33333333, -2.16666667],
       [-2.16666667,  6.33333333]])

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值