1、通用函数,是一种在ndarray数据中进行逐元素操作的函数。某些函数接受一个或多个标量数值,并产生一个或多个标量结果,通用函数就是对这些函数的封装。

  1、常用的一元通用函数有:abs\fabs  sqrt   square  exp  log\log2\log10\log1p  sign  ceil  floor  rint  modf  isnan  sin\cos\tan\sinh\cosh\tanh  arccos\arctan\arcsin  logical_not

  2、二元通用函数:add  subtract  multiply  divide、floor_divide  power  maximun、fmax  minimun、fax  mod  copysign  greater、greater_equl、less  

2、将条件逻辑作为数组操作,np.where函数,其是三元表达式 x if condition else y的向量化版本。

  

 xarr = np.array([1.1, 1.2, 1.3, 1.4, 1.5])
yarr = np.array([2.1, 2.2, 2.3, 2.4, 2.5])
cond = np.array([True, False, True, True, False])
result = np.where(cond, xarr, yarr)            # result中的元素来源:若cond中为True,返回xarr中对应元素,否则返回yarr中的元素。
result
Out[59]:
>>>array([1.1, 2.2, 1.3, 1.4, 2.5])

3、数学和统计方法

  1、聚合函数(又称缩减函数):例如sun、mean、std、var等等,mean、sum等可以接受一个可选参数 axis,用于计算指定轴上的统计值,axis =0计算行方向,axis =1计算列方向。

  2、其他基础统计方法,min,max   argmin,argmin 返回最小值、最大值的索引值  cumsum\cumprod 从0、从1开始计算累计值

4、布尔值数组的方法

  1、sum()可以用来统计布尔数组中的True的个数

 arr = np.random.randn(100)
(arr > 0).sum()
Out[62]:
>>>46

  2、对于布尔值数组,有两个比较有用的方法:any()检查数组中是否至少有一个True, all()检查是否每个值都是True

 bools = np.array([False, False, True, False])
print(bools.any())
print(bools.all())
True
False

5、排序

  1、sort(x),直接使用 x.sort()的形式,在原数组上进行操作,使用np.sort(x)的形式返回的是已经排序好的数组拷贝。

6、唯一值与其他集合操作

  1、np.unique(x) ,返回的是数组中唯一值排序后形成的数组;

  2、np.in1d(x),检查一个数组中的值是否存在于另外一个数组中,返回一个布尔值数组;

  其他数组集合操作:intersect1d(x,y) 计算交集并排序;union1d(x,y)计算并集并排序;setdiff1d(x,y)差集;setxor1d(x,y)异或集

7、使用数组进行文件输入和输出

  np.load()加载  np.save()保存

8、线性代数

  1、矩阵乘法,NumPy中,” * “表示逐元素相乘,矩阵乘法用dot()函数,x.dot(y)或者np.(x,y)

  2、numpy.linalg 矩阵分解的标准函数集,常用函数有:dot  diag  trace 计算对角元素和  eig 计算仿真的特征值和特征向量  inv 求逆  qr 计算QR分解  svd 计算奇异值分解(SVD)  solve 求解x的线性系统      lstsq 计算最小二乘解

9、伪随机数生成

  1、numpy.random模块补充了python内建的random模块的不足,可以高效地生成多种概率分布下地完整样本数据值。

  random下的部分常用函数:

  seed 向随机数生成器传递随机状态种子; permutation 返回一个随机序列的随机排列,或者返回一个乱序的整数范围序列 ; shufffle 随机排列一个序列

  rand 从均匀分布中抽取样本  randint 从给定的范围内随机抽取整数  randn 从均值0方差1的正态分布中抽取样本  binomial从二项分布中抽取样本

  noamal 从高斯分布中抽取样本    beta 从beta分布中抽取样本  chisquare 从卡方分布中抽取样本  gamma 从伽马分布中抽取样本  uniform 从[0,1]均匀分布中抽取样本

  

  

numpy2的更多相关文章

  1. Getting started with SciPy for .NET

    Getting started with SciPy for .NET 1.) IronPython Download and install IronPython 2.7, this will re ...

随机推荐

  1. tensorflow 屏蔽 Log

    pip install alfred-py 在代码中加入 from alfred.dl.tf.common import mute_tf mute_tf()

  2. Spring + Mybatis 企业应用实战 第1章 Java EE应用

    Java EE应用的分层模型: Domain Object 领域对象层.就是一些pojo. DAO(data access object) 数据访问对象 Service 业务逻辑层 Controlle ...

  3. idea控制台搜索框

    https://blog.csdn.net/honnyee/article/details/82772948

  4. linux下的命令和常见问题笔记

    nginx的三大功能: 1.http服务 2.反向代理 3.负载均衡 2.当nginx重启报:[root@localhost logs]# service nginx reloadReloading ...

  5. 关于mysql备份与恢复的操作

    逻辑备份:将数据库的数据以逻辑的SQL语句的方式导出 mysqldump备份数据库 备份数据并带创建数据库 (含数据) mysqldump -uroot -p'123456' -B dbname &g ...

  6. python 关于字节串和字符串

    import pickle s=pickle.dumps(clf) f=open('svm.txt','wb') #使用二进制方式打开,write进字节,否则进字符 f.write(s) f.clos ...

  7. Linux培训教程 linux系统下分割大文件的方法

    在linux中分割大文件,比如一个5gb日志文件,需要把它分成多个小文件,分割后以利于普通的文本编辑器读取. 有时,需要传输20gb的大文件,Linux培训 教程件到另一台服务器,也需要把它分割成多个 ...

  8. 微信点餐系统(七)-微信授权获取openid:

    章节小结: 1.学会了微信授权的步骤,学会了微信授权的文档 2.学会了使用natapp内网穿透工具 3.加深了虚拟机的网络配置以及基本使用 4.学会了抓包购票工具fiddler的使用 5.微信授权步骤 ...

  9. java+web+大文件上传下载

    文件上传是最古老的互联网操作之一,20多年来几乎没有怎么变化,还是操作麻烦.缺乏交互.用户体验差. 一.前端代码 英国程序员Remy Sharp总结了这些新的接口 ,本文在他的基础之上,讨论在前端采用 ...

  10. tesseract 4.0 使用

    https://blog.csdn.net/andylanzhiyong/article/details/81807425 官方例子: https://github.com/tesseract-ocr ...