zoukankan      html  css  js  c++  java
  • numpy小记

    import numpy as np
    #
    a=np.array([[1,3,2],[4,5,6]])
    print(a)
    a=np.arange(1,13).reshape((3,4))#生成一个3行4列的矩阵。值是1~13范围内的随机数字
    #
    b=a.reshape(2,-1)#明确指定矩阵为2行,-1表示一个占位符(在这里指定是3,一般情况下它一直都会是-1)   
    print(b)                
    print(a[1,1])#打印的是5 第2行,第2列的数字。默认从0开始计数
    a[1,1]=55
    print(a)
    b=np.zeros((3,3))#创建一个3x3的矩阵,默认值全都为0
    c=np.ones((3,3))#创建一个3x3的矩阵,默认值全都为1
    d=np.full((3,3),5)#创建一个3x3的矩阵,默认值全都为5
    print(d)
    e=np.eye(3)#创建一个单位矩阵
    print(e)
    f=np.random.random((3,4))#创建随机矩阵 3x4
    print(f)
    #索引操作(和一般的列表操作类似,负数表示相反方向) g=np.array([[1,2,3,4],[3,4,5,6],[6,7,8,9]]) h=g[1:,1:4]#从第2行,第1列开始,取值print(h.dtype) #打印矩阵中数值的类型 k=np.array([1.5,2.6,3.3]) l=np.array(k,dtype=np.int64)#会将矩阵中所有的数都转化成整数 print(g[1,3])#返回6(行与列都是从0开始计算的)
    print(g[2,:])#返回第二行所有的值。
    print(g[:,3])#返回第三列所有的值
    print(g[0:2,1:3])#返回一个矩形区域的值。其中0:2是指获取第0行和第1行的数据。1:3是指获取第1列和第2列的数据
    #numpy中的常用运算 ary1=np.array([[5,6],[7,8]]) ary2=np.array([[8,1],[3,2]]) print(ary1+ary2)#两个矩阵做加法运算(np.add(ary1,ary2)) print(ary1-ary2)#两个矩阵做减法运算,相当于np.subtract(ary1,ary2) print(ary1/ary2)#两个矩阵做除法运算,相当于np.divide(ary1,ary2) print(ary1*ary2)#将两个矩阵,相同位置上的数做乘法运算。相当于np.multiply(ary1,ary2) #两个矩阵相乘 当前者的列数等于后者的行数,才能进行矩阵的乘法运算 print(ary1.dot(ary2))#相当于np.dot(ary1,ary2) print(np.sum(ary1))#对ary中的数进行求和操作。结果是26 print(np.sum(ary1,axis=0))#得到一个一维矩阵,将矩阵中的每一列进行求和操作 print(np.sum(ary1,axis=1))#对矩阵中的每一行进行求和操作 np.mean(ary1)#求得矩阵中,所有数的和的平均值 np.mean(ary1,axis=0)#求得矩阵中,每一列数的和的平均值 np.mean(ary1,axis=1)#求得矩阵中,每一行数的和的平均值 print(np.random.uniform(0,1))#产生一个随机数(0和1之间) print(np.average(ary1))#获取矩阵的平均数 print(np.median(ary1))#获取矩阵的中位数 np.cumsum(ary1)#返回一个列表,该列表内的元素的数量和矩阵的数量相同。列表的第2位数是矩阵的前2个数相加得来的。第3位数是矩阵前3个数相加得来的,第4位数是矩阵前4位…… np.diff(ary1)#返回一个矩阵,该矩阵第1位元素是ary1矩阵中,第2位和第1位元素的差。矩阵的第2位元素是ary1矩阵中,第3位元素和第2位元素的差。矩阵的第3位元素是矩阵ary1…… np.sort(ary1)#返回一个矩阵,将矩阵ary1进行逐行的排序 np.clip(ary1,3,6)#返回一个矩阵。将ary1矩阵中所有小于3的数,全都变成3,大于6的数,全都变成6 np.tile(ary1,(2,3))#将ary1这个矩阵,在行上重复2次,在列上重复3次 ary1.argsort()#将矩阵中的数进行 行(hang)排序 ary1.argsort(axis=0)#将矩阵中的数进行 列排序 np.argmin(ary1)#返回矩阵中最小值的索引 np.argmax(ary1)#返回矩阵中最大值的索引 ary1.T#矩阵的转置操作 等同于np.transpose(ary1) ary3=np.array([1,3,2])
    #将ary1的每一行和ary3进行相加 ary1+np.tile(ary3,(4,1))#在行上操作4次,在列上操作1次 a=np.array([1,1,1]) b=np.array([2,2,2]) #c=np.vstack((a,b)) #合并序列 vertical(上下合并) #c=np.hstack((a,b))#左右合并 a=np.array([1,1,1])[:,np.newaxis]#在列上面增加一个维度,这样就可以使用concatenate来合并序列了 b=np.array([2,2,2])[:,np.newaxis]#如果np.newaxis放在了逗号的前面,则表示在列上面增加一个维度。(显然这里不需要,因为有3列了) c=np.concatenate((a,b),axis=1) c=np.concatenate((a,b,b,a),axis=0)#横向合并

    #将矩阵分割成数组 np.split(array1,3,axis=0)#横向分割 np.hsplit(array1,3) np.vsplit(array1,3)#纵向分割 d=a d=a.copy() print(c)

    print

  • 相关阅读:
    删除 node_modules文件夹cmd指令
    vue 限制输入字符长度
    vertical-align和text-align属性实现垂直水平居中
    二分查找法
    MySQL实现分页查询
    数据库连接
    AOP编程的常用实现方式
    链表中环的入口
    AQS同步组件及ReentrantLock和synchronized的区别
    快速排序的递归和非递归
  • 原文地址:https://www.cnblogs.com/vichin/p/9136334.html
Copyright © 2011-2022 走看看