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. linux批量设置部分文件与文件夹权限

      批量设置web目录下文件.文件夹名为sitemap.xml.sitemap 属性为777 cd /www/web find ./ -name 'sitemap' -exec chmod -R 77 ...

  2. DedeCms织梦发布文章时输入Tag标签逗号自动变成英文标点的方法

    把TAG标签的间隔号由空格改为英文的逗号,这样使得经常原创文章的站长朋友非常不方便,因为我们输入汉字时总是喜欢使用全角的逗号,那么有没有办法使用 js脚本把输入的中文逗号变成英文逗号呢?当然是可以的! ...

  3. docker 部署springboot项目【转载】

    https://www.cnblogs.com/ityouknow/p/8599093.html

  4. VM架构设计文档初稿v0.01

    VM架构设计文档初稿v0.01 文档介绍 本文档是经过讨论,作为VM新架构设计开发中的重要依据.对该架构的整个系统的结构进行详实细致的描述.阐述框架结构,说明该架构所采取的设计策略和所有技术,并对相关 ...

  5. Python之网络编程之concurrent.futures模块

    需要注意一下不能无限的开进程,不能无限的开线程最常用的就是开进程池,开线程池.其中回调函数非常重要回调函数其实可以作为一种编程思想,谁好了谁就去掉 只要你用并发,就会有锁的问题,但是你不能一直去自己加 ...

  6. 【NOIP2016提高A组集训第1场10.29】完美标号

    题目 给定M个二元组(A_i, B_i),求X_1, ..., X_N满足:对于任意(A_i, B_i),有|X_{A_i} - X_{B_i}| = 1成立. 分析 显然,对于二元组(x,y),X_ ...

  7. ftp CentOS7安装

    1.安装ftp服务yum install vsftpd 2.修改ftp配置文件(/etc/vsftpd/vsftpd.conf)ascii_upload_enable=YESascii_downloa ...

  8. c++ 初学者 慢慢成长中

    C++书籍推荐 从上往下 Essential C++ C++ Primer 中文版 Effeetive C++ More Effeetive C++ C++ 标准程序库 深度探索c++对象模型 C11

  9. Web Api试图加载格式不正确的程序,解决方法

    Web Api试图加载格式不正确的程序,错误如下: 问题原因: 出现上述问题的原因是,所加载的程序集中有32位的,也有64位的,IIS 7 程序池 在Windows下.Net FrameWork是64 ...

  10. c++中的类(构造函数,析构函数的执行顺序)

    类对象的初始化顺序 新对象的生成经历初始化阶段(初始化列表显式或者隐式的完成<这部分有点像java里面的初始化块>)——> 构造函数体赋值两个阶段 1,类对象初始化的顺序(对于没有父 ...