numpy 库 常用

import numpy as np
import numpy.linalg as lg

if __name__=="__main__":

    #矩阵的建立
    a=np.array([[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]])
    #获取矩阵行数,列数
    print(a.shape)     #元祖(3,5)
    print(a.shape[0])  #行数
    print(a.shape[1])  #列数
    #矩阵的截取
    print(a[0:2])  #截取第一行到第二行
    print(a[:,1:-1])#截取第二列到最后一列
    print(a[0:2,1:-1])
    #按条件截取
    print(a>10)
    print(type(a>10))
    """
    [[False False False False False]
     [False False False False False]
     [ True  True  True  True  True]]
    """
    print(type([a])) #list
    print(a[a>6])
    """
    一维数组
    [ 7  8  9 10 11 12 13 14 15]
    
    """
    a[a>6]=0   #    >6的全部变成0
    print(a)
    """
    [[1 2 3 4 5]
     [6 0 0 0 0]
     [0 0 0 0 0]]
    """
    #矩阵的合并
    c=np.array([[1,2],[3,4]])
    d=np.array([[5,6],[7,8]])
    print(np.hstack([c,d]))  #横向c拼d,行相同
    print(np.vstack([c,d]))  #竖向c拼d,列相同
    #与list的相互转换
    e=[i for i in range(1,10)]
    print(e)#list[1, 2, 3, 4, 5, 6, 7, 8, 9]
    print(np.array(e))
    print(c.tolist())#连接了列表推导式哦哈哈哈哈
    #矩阵运算
    c = np.array([[1, 2], [3, 4]])
    d = np.array([[5, 6], [7, 8]])
    print(c+d)  #矩阵之间的加法,行和列完全相同
    print(c-d)  #矩阵之间的减法,行和列完全相同
    print(c*d)  #相同位置的数的乘法,行和列完全相同,          不是矩阵乘法!!!!!!!!!!!!!!!
    """
    [[ 5 12]
    [21 32]]
    """
    print(c/d)  #相同位置的数的乘法,行和列完全相同,
    print(c.dot(d))  #矩阵之间的乘法
    #矩阵的转置
    print(c.T)#原c不变

    #逆矩阵
    #import numpy.linalg as lg
    print(lg.inv(c))   #必须是方阵
    # #试下 不可逆的矩阵 会有什么结果
    # e=np.array([[1,2],[2,4]])
    # print(lg.inv(e))  #会报错:numpy.linalg.LinAlgError: Singular matrix

    c = np.array([[1, 1], [4, 4]])
    #获取矩阵的最大值
    print(c.max())
    print(c.min())
    print(c.max(axis=0)) #获取每列的最大值
    print(c.max(axis=1)) #获取每行的最大值
    # 要想获得最大最小值元素所在的位置,可以通过argmax函数来获得
    print(a.argmax(axis=1))
    #获取平均值  .mean()类似
    #方差
    # 方差的函数为var(), 方差函数var()
    # 相当于函数mean(abs(x - x.mean()) ** 2), 其中x为矩阵。
    print(c.var(axis=0))#获取每列的方差
    print(c.var(axis=1))#获取每行的方差
    # 标准差的函数为std()。
    # std()
    # 相当于sqrt(mean(abs(x - x.mean()) ** 2)),或相当于sqrt(x.var())。


    #求和
    print(c.sum())
    print(c.sum(axis=0))#对每列求和
    print(c.sum(axis=1))#对每行求和

放慢语速跟我念,Avada Kedavra(阿瓦达啃大瓜)
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值