• numpy之数组计算


    # coding=utf-8
    import numpy as np
    import random
    #数组和数字计算,进行广播计算,包括加减乘除
    t8 = t8 +2
    print(t8,t8.dtype,t8.shape)
    
    #数组和数组计算,只要在某一维度(行或列)一样,就可以进行广播计算,包括加减乘除
    t9 = t5+t6
    print(t9,t9.dtype,t9.shape)
    
    
    '''
    如果两个数组的后缘维度(即从末尾开始算起的维度)的轴长度相符或其中一方的维度为1,则认为他们的是广播兼容的
    例如
        (3,3,3)与(3,2)不可以计算,因为(3, 3,3)最后两个3,3与3,2不相符
        (3,3,2)与(3,2)可以计算,因为从最后开始,存在相符维度即(3,2)
    '''
    t7 = np.ones((3,3))
    t10 = np.random.randint(10,20,(3,3,3))
    print(t10,t10.dtype,t10.shape)
    t10 = t10 + t7
    print(t10,t10.dtype,t10.shape)
    t10 = t10 - t7
    print(t10,t10.dtype,t10.shape)
    t10 = t10.dot(t7)
    print(t10,t10.dtype,t10.shape)
    t10 = t10/t7
    print(t10,t10.dtype,t10.shape)
    
    #四维数组
    t10 = np.random.randint(10,20,(3,3,3,4))
    print(t10,t10.dtype,t10.shape)
    
    
    ###########其他计算方法###################
    '''
    获取最大值最小值的位置
      np.argmax(t,axis=0)  #每一行最大值位置
      np.argmin(t,axis=1)  #每一列最小值的位置
    创建一个全0的数组: np.zeros((3,4))
    创建一个全1的数组:np.ones((3,4))
    创建一个对角线为1的正方形数组(方阵):np.eye(3)
    '''
    
    '''
    rand(d0, d1, …, dn)    产生均匀分布的随机数    dn为第n维数据的维度
    randn(d0, d1, …, dn)    产生标准正态分布随机数    dn为第n维数据的维度
    randint(low[, high, size, dtype])    产生随机整数    low:最小值;high:最大值;size:数据个数
    uniform(low,high,(size))     产生均匀分布的数组,low起始值,high结束值,size形状
    normal(loc,scale,(size))    从指定正太分布中随机抽取样本,分布中心为loc,标准差为scale,形状为size
    seed(s)     随机数种子,s是给定的种子值,因为计算机生成的是伪随机数,所以通过设定相同的随机数种子,可以每次生成相同的随机数
    '''
    
    '''
    np.nan与np.nan不相等
    np.count_nonzero(t)判断t中不为0的数量
    np.count_nonzero(np.isnan(t))判断t中nan的数量
    nan与任何值进行计算都为nan
    
    求和:t.sum(axis=None)
    均值:t.mean(a,axis=None)  受离群点的影响较大
    中值:np.median(t,axis=None) 
    最大值:t.max(axis=None) 
    最小值:t.min(axis=None)
    极值:np.ptp(t,axis=None) 即最大值和最小值只差 
    标准差:t.std(axis=None) 
    协方差: cov = np.cov(data.T) #计算协方差矩阵
    计算矩阵的特征值和特征向量: eig_val, eig_vec = np.linalg.eig(data)#要求矩阵是方阵 
    '''

     注意点:

      数组中的属性axis表示,以数组的该行维度个数返回
  • 相关阅读:
    【SqlServer系列】表达式(expression)
    【SqlServer系列】语法定义符号解析
    Docker常用命令<转>
    VMware下的Centos7联网并设置固定IP
    redis的setbit命令
    Java并发编程:并发容器之CopyOnWriteArrayList<转>
    Java并发编程:volatile关键字解析<转>
    Java并发编程:阻塞队列 <转>
    Java并发编程:Lock和Synchronized <转>
    Jackson学习笔记(三)<转>
  • 原文地址:https://www.cnblogs.com/ywjfx/p/10827062.html
Copyright © 2020-2023  润新知