• Python Numpy 矩阵级基本操作(2)


    1、开方与求e指数

    import numpy as np
    from numpy.matlib import randn
    
    print "Test sqrt and exp"
    arr = np.arange(10)
    print np.sqrt(arr)#开方
    print np.exp(arr)#求exp
    

     

     2、条件Merge

    print "test max-merge" #取x和y中对应位置较大的item组成新数组
    x=randn(8)
    y=randn(8)
    print x;print y;print np.maximum(x,y) 
    
    print "test condition-merge" #根据condition matrix,true时取tMat,false取fMat
    tMat = np.arange(10)
    fMat = np.arange(0,-10,-1)
    conMat = [True,False,True,False,True,False,True,False,True,False] 
    result=np.where(conMat,tMat,fMat) #condition clause
    print result
    rdmMat = randn(10)
    result=np.where(rdmMat>0,tMat,fMat) #the three matrix should have same size
    print result
    

     

    3、Statistic functions

    print "test statistics functions"
    rdmMat1 = randn(10,3)
    print rdmMat1.mean() #计算所有元素的均值
    print np.mean(rdmMat1) 
    print np.mean(rdmMat1, 0) #column mean
    print np.mean(rdmMat1, 1) #row mean
    print np.sum(rdmMat1)
    print np.sum(rdmMat1,0) #column sum
    print np.sum(rdmMat1,1) #row sum
    

     

    4、布尔函数

    print "test bool functions"
    rdmMat2 = randn(10)
    numberOfTrue = (rdmMat2>0).sum() #true的个数
    print numberOfTrue
    rdmMat3 = np.array([True,True,False,True])
    print rdmMat3.any() #是否含有至少一个true
    print rdmMat3.all() #是否全为true
    

     5、排序函数

    print "test sort"
    print np.sort(rdmMat2) #np.sort() doesn't change the original matrix
    print rdmMat2
    rdmMat2.sort() #python's sort changes the matrix
    print rdmMat2
    rdm53 = randn(5,3)
    print np.sort(rdm53,1)
    print rdm53
    rdm53.sort(1)
    print rdm53
    rdm53.sort(0)
    print rdm53
    

     6、包含操作

    print "test set operation"
    names = np.array(['Tom','Dean','Won','Tom','Tom','Dean'])
    print np.unique(names)#取出唯一的项,按照字典序排列
    print np.unique(names,1,1,1)
    #第二个参数,会给出这几个值第一次出现的索引
    #第三个参数,会给出这几个值出现的所有索引位置
    #第四个参数,给出这几个值出现的次数
    

     

    7、测试两个数组内各个元素元素的包含关系

    print "test in1d"
    arrayA = np.array([3,6,9,3,3,6,6,9,9])
    arrayB = np.array([3,7,9])
    print np.in1d(arrayB,arrayA)
    print np.in1d(arrayA,arrayB)
    

     

  • 相关阅读:
    RVM Ruby 版本管理器的删除 Gatling
    JWT 构建Rails API 授权登录
    Linux grep根据关键字匹配前后几行
    bootstrap-table 常用总结-树形结构
    linux 下jq的使用
    SHELL脚本获取域名对应的IP地址
    golang将切片或数组进行分组
    linux的统计实现
    Linux:“awk”命令的妙用
    rails 上传文件
  • 原文地址:https://www.cnblogs.com/rhyswang/p/8175559.html
Copyright © 2020-2023  润新知