# 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表示,以数组的该行维度个数返回

numpy之数组计算的更多相关文章

  1. NumPy:数组计算

    一.MumPy:数组计算 1.NumPy是高性能科学计算和数据分析的基础包.它是pandas等其他各种工具的基础.2.NumPy的主要功能: ndarray,一个多维数组结构,高效且节省空间 无需循环 ...

  2. Python-Numpy数组计算

    一.NumPy:数组计算 1.NumPy是高性能科学计算和数据分析的基础包.它是pandas等其他各种工具的基础.2.NumPy的主要功能: ndarray,一个多维数组结构,高效且节省空间 无需循环 ...

  3. NumPy(数组计算)

    一.介绍 NumPy是高性能科学计算和数据分析的基础包.它是pandas等其他各种工具的基础. 1.主要功能 1)ndarray,一个多维数组结构,高效且节省空间2)无需循环对整组数据进行快速运算的数 ...

  4. numpy——基础数组与计算

    In [1]: import numpy as np In [11]: # 创建数组 a = np.array([1,2,3,4,5]) In [12]: a Out[12]: array([1, 2 ...

  5. python数据分析 Numpy基础 数组和矢量计算

    NumPy(Numerical Python的简称)是Python数值计算最重要的基础包.大多数提供科学计算的包都是用NumPy的数组作为构建基础. NumPy的部分功能如下: ndarray,一个具 ...

  6. Numpy.frompyfunc()将计算单个值的函数转化为计算数组中每个元素的函数

    Numpy.frompyfunc()将计算单个值的函数转化为计算数组中每个元素的函数 不再通过遍历,对数组中的元素进行运算,利用frompyfunc()将计算单个值的函数转化为计算数组中每个元素的函数 ...

  7. Numpy常用金融计算(一)

    In [41]: a=[1,2,3,4,5,5,6,6,7,8,8,9,9] # list类型数组 In [42]: b=nu.mean(a) #调用numpy.mean方法计算数组元素的算术平均值 ...

  8. NumPy 迭代数组

    NumPy 迭代数组 NumPy 迭代器对象 numpy.nditer 提供了一种灵活访问一个或者多个数组元素的方式. 迭代器最基本的任务的可以完成对数组元素的访问. 接下来我们使用 arange() ...

  9. 找出numpy array数组的最值及其索引

    在list列表中,max(list)可以得到list的最大值,list.index(max(list))可以得到最大值对应的索引 但在numpy中的array没有index方法,取而代之的是where ...

随机推荐

  1. 【异常】lockfile.AlreadyLocked: ~/airflow/airflow-scheduler.pid is already locked

    1 完整异常信息 File "/usr/bin/airflow", line 32, in <module> args.func(args) File "/u ...

  2. Oracle【子查询】

    Oracle子查询:当一个查询依赖于另外一个查询的结果的时候,就需要使用子查询.单行子查询 :筛选条件不明确,需要执行一次查询且查询结果只有一个字段且字段值只有一个.注意:where子句中允许出现查询 ...

  3. MySQL数据库 、数据表、数据的增删改查简版

    数据库操作 # 增 CREATE(DATABASE | SCHEMA)[IF NOT EXISTS] db_name [[DEFAULT] CHARACTER SET[=]charset_name] ...

  4. (十二)Linux Kernel suspend and resume

    一.对于休眠(suspend)的简单介绍   在Linux中,休眠主要分三个主要的步骤:   1) 冻结用户态进程和内核态任务   2) 调用注册的设备的suspend的回调函数, 顺序是按照注册顺序 ...

  5. 解决GitLab的Forbidden和Nginx启动失败

    通过宝塔安装的GitLab突然出现Forbidden,原因居然是IP并发过大,IP被禁 解决方法: 登录服务器,编辑文件 /etc/gitlab/gitlab.rb  ,将下面的截图内容放开注释(默认 ...

  6. winform Combox绑定数据时不触发SelectIndexChanged事件

    做了一个仓库选择的联动,选了仓库选其下的货区,选了货区选其下的货架分区.每个combox初始化.绑定数据是都会触发SelectIndexChanged事件,相当头疼. 后来无意中在网上看到了一种方法— ...

  7. Ubuntu18.04安装UHD+GNU Radio后找不到USRP B210解决办法

    一.在终端中输入uhd_usrp_probe,提示USB错误,没有权限. 解决办法: 输入 : sudo uhd_usrp_probe 二.GNU Radio中出现找不到设备,地址为空的错误: 错误原 ...

  8. Legendre公式和Kummer定理

    Legendre公式 对于质数\(p\),函数\(v_p(n)\)为\(n\)标准分解后\(p\)的次数 显然有 \[v_p(n!) = \sum\limits_{i = 1}^{\infty} \l ...

  9. MyBatis注解开发-@Insert和@InsertProvider

    @Insert和@InsertProvider都是用来在实体类的Mapper类里注解保存方法的SQL语句.不同的是,@Insert是直接配置SQL语句,而@InsertProvider则是通过SQL工 ...

  10. uniapp在在页面跳转时,若URL太长的字符串会导致数据传递失败

    url有长度限制,太长的字符串会传递失败,可使用窗体通信.全局变量,或encodeURIComponent等多种方式解决,如下为encodeURIComponent示例的解决方法. <navig ...