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. 关于PHP://input

    $data = file_get_contents("php://input");    php://input 是个可以访问请求的原始数据的只读流. POST 请求的情况下,最好 ...

  2. 常用数列总结&性质记录

    1.斐波那契数列 P.S.:这里首项下标为 1 递推式:\[F_i=F_{i-1}+F_{i-2},F_1=F_2=1\] 性质: \(1.\sum^{n}_{i=1}F_{i}=F_{n+2}-1\ ...

  3. 【shell】截取字符串前面文字

    例如:有一个文件test.txt,里面有这些数据. meiguounix232 faguounix ribenunix zhongguounixtaobao hanguounixbaba 现在我想截取 ...

  4. 数据库导出数据到excel格式

    场景: 由于业务人员经常会找DBA导出一些数据,写了一个自动导出脚本. import pymysql from openpyxl import Workbook from openpyxl.write ...

  5. 使用Eigen遇到恶心报错

    参考博客:https://www.cnblogs.com/wongyi/p/8734346.html 1. 数据类型报错 /home/wy/workdir/slambook/ch3/useEigen/ ...

  6. (59)Linux操作系统深入应用

    目录: 第一部分:嵌入式的含义 第二部分:DOS命令 第三部分:linux的发展历史(与unix的关系) 第四部分: 基于ubuntu下的linux命令详解大全         第一部分:嵌入式的含义 ...

  7. CodeChef-----February Challenge 2018---Broken Clock(极坐标+三角函数递推+矩阵快速幂)

    链接:  https://www.codechef.com/FEB18/problems/BROCLK Broken Clock Problem Code: BROCLK Chef has a clo ...

  8. wannafly 练习赛10 E 数列查找(莫队+分块分块分块......)

    链接:https://www.nowcoder.net/acm/contest/58/E 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit ...

  9. vue树形菜单

    vue树形菜单 由于项目原因,没有使用ui框架上的树形菜单,所以自己动手并参考大佬的代码写了一个树形菜单的组件,话不多说,直接上代码.html代码js代码直接调用api 把请求到的数据直接赋值给per ...

  10. yii2.0 curd操作数据写法

    一.执行原生sql查询,创建yii\db\Command         insert(),update(),delete()直接构建,相应的sql语句 查: 1.查询一条 \Yii::$app-&g ...