zoukankan      html  css  js  c++  java
  • numpy的常用函数以及常规操作

    numpy的常规函数

    一:矩阵的常规操作函数

    1 :np.arange()  生成向量

    demo2 =np.array([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])   # 一行向量   转化成矩阵形式
    print(demo2.shape)
    b =np.arange(1,16)   # 顾头不顾腚,头,尾巴,步长,输出数组类型
    print(b)

    生成了一个向量 ,有15个数据

    image.png

    2:object.reshape()   转化矩阵

    a= demo2.reshape(3,5)   # 转化成矩阵 3行5列的数据

    image.png

    3:object.shape   查看矩阵行列数

    print(a.shape)          #矩阵行列数

    由图可知,我们得到了一个3行5列的数组

    image.png

    4:object.ndim  获取矩阵维度

    print(a.ndim)            # 矩阵维度

    image.png

    5: object.dtype 获取矩阵数据类型

    print(a.dtype)     # 矩阵数据类型

    image.png

    6: object.size 获取矩阵长度

    print(a.size)      #矩阵长度

    image.png

    二: 构造矩阵的函数

    1: np.zeros((,)) 0矩阵  

    注意:传的是元祖的形式

    demo3 =np.zeros((3,4))    #注意传的是元祖的形式
    print(demo3)  # 结果值为float 类型

    image.png

    2:np.ones((,)) 1矩阵

    注意:传的是元祖的形式

    demo4 =np.ones((3,4),dtype=np.int32)   
    print(demo4) 

    image.png

    3:np.random.random((,))  #随机数矩阵

    demo5 =np.random.random((3,4))  # 注意传的是元祖 ,    随机取值
    print(demo5)

    image.png

    4:np.linspace(头,定,数量)  # 平均数向量

    demo6 =np.linspace(0,100,101,dtype=np.int32)  # 取平均值    :头 尾巴 总数    ,dttpye 数据类型
    print(demo6)

    image.png

    三:numpy矩阵的计算

    数据集

     

    image.png

    1:加法

    1>:矩阵加一个数

    a1 =a+1
    print(a1)

    image.png

    2:>矩阵加一个矩阵

    ab1 =a+b
    print(ab1)  # 行列对应位置进行累加 

    image.png

    2:减法

    和加法一样

    3:乘法

    1>: 矩阵乘数

    b1= b*2
    print(b1)  #即每个位置成那个数

    image.png

    2>:矩阵成矩阵

    ab2 =a*b 
    print(ab2)  # 矩阵行列索引位置上数字想乘

    image.png

    3:矩阵想成的内积

    # 矩阵内积
    ab3 =a.dot(b)
    print(ab3)  # 矩阵内积成, 即 第一行乘第一列,第一行乘第二列,第二行成第一列,第二行乘第二列相加

    image.png

    4:除法

    和乘法一样

    5:判断

    print(a>3)

    image.png

    6:矩阵的密次

    print(np.exp(a))  # 成e次方

    image.png

    7:矩阵开平方

    print(np.sqrt(a))  #开平方

    image.png

    四:矩阵的降维以及拼拆

    1 :矩阵的降维

    准备数据集

    import numpy as np 
    demo1 = np.floor(10*np.random.random((3,4)))   # 创建数据源随机数向下取整*10 

    image.png

    1:obj.ravel()  数据降维

    print(demo1.ravel()) # 把数组转成向量

    image.png

    2:矩阵数据的转置

    行转列,列转行

    print(demo1.ravel()) # 把数组转成向量    

    image.png

    3矩阵的拼切

    1:> 矩阵拼

    准备数据源

    a=np.array([[1,2],[3,4]])
    b= np.array([[5,6],[7,8]])

    按列接:

    print(np.hstack((a,b)))  #  按列拼接 注意传的是元祖

    image.png

    按行接:

    print(np.vstack((a,b)))  # 按行拼接 

    image.png

    2:>矩阵切

    准备数据集

    c =np.arange(0,18).reshape(3,6)  # 准备数据集

    image.png

    按列 切

     平均切

    print(np.hsplit(c,3))  #按列平均切成3分

    image.png

     索引切

    print(np.hsplit(c,(3,4))) # 按照列索引刀切     

    image.png

    按照行切

    print(np.vsplit(c.T,3)) # 按照行平均切

    image.png

    五: 矩阵的顺序及大小

    1: 返回行数据最大索引

    创建数据集

    demo10 =np.sin(np.arange(20)).reshape(4,5)
    print(demo10)
    1:>demo10.argmax(axis=0)   #求数据行数据最大索引

    image.png

    2: 数据集扩展 np.tile(demoa,(3,5))

    demoa =np.arange(0,40,10)  #创建数据集
    print(demoa)
    # 数据扩展
    demoa1 =np.tile(demoa,(3,5))
    print(demoa1)

    image.png

    3:排序

    1:>返回数据排序 np.sort(a,axis=1)

    创建数据集

    a =np.array([[4,3,5],[1,2,1]])
    print(a)

    操作代码

    np.sort(a,axis=1)  #行排序

    image.png

    2>:排序返回数据索引 np.argsort(a)

    创建数据集

    a =np.array([4,3,1,2])
    print(a)

    image.png

    j=np.argsort(a)
    print(j)  # 返回索引顺序
    #在通过索引返回对应数据
    print(a[j])

    上面一行是索引顺序,下面一行是通过索引返回的数据

  • 相关阅读:
    Android进阶之关闭所有activty
    弹出窗口插件欣赏
    关于之前放在google 的资源不能下载的解决方案
    图片垂直居中的使用技巧
    关于采用业务用例视图来展示、归纳、整理业务用例的三点指导原则
    操作系统引导的那点事
    可视化拾色器
    AE中删除属性字段
    AE中添加属性字段
    vs2005c#中用户组件在工具箱中不能自动出现的解决办法
  • 原文地址:https://www.cnblogs.com/baili-luoyun/p/13029816.html
Copyright © 2011-2022 走看看