numpy2
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的更多相关文章
- Getting started with SciPy for .NET
Getting started with SciPy for .NET 1.) IronPython Download and install IronPython 2.7, this will re ...
随机推荐
- linux批量设置部分文件与文件夹权限
批量设置web目录下文件.文件夹名为sitemap.xml.sitemap 属性为777 cd /www/web find ./ -name 'sitemap' -exec chmod -R 77 ...
- DedeCms织梦发布文章时输入Tag标签逗号自动变成英文标点的方法
把TAG标签的间隔号由空格改为英文的逗号,这样使得经常原创文章的站长朋友非常不方便,因为我们输入汉字时总是喜欢使用全角的逗号,那么有没有办法使用 js脚本把输入的中文逗号变成英文逗号呢?当然是可以的! ...
- docker 部署springboot项目【转载】
https://www.cnblogs.com/ityouknow/p/8599093.html
- VM架构设计文档初稿v0.01
VM架构设计文档初稿v0.01 文档介绍 本文档是经过讨论,作为VM新架构设计开发中的重要依据.对该架构的整个系统的结构进行详实细致的描述.阐述框架结构,说明该架构所采取的设计策略和所有技术,并对相关 ...
- Python之网络编程之concurrent.futures模块
需要注意一下不能无限的开进程,不能无限的开线程最常用的就是开进程池,开线程池.其中回调函数非常重要回调函数其实可以作为一种编程思想,谁好了谁就去掉 只要你用并发,就会有锁的问题,但是你不能一直去自己加 ...
- 【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_ ...
- ftp CentOS7安装
1.安装ftp服务yum install vsftpd 2.修改ftp配置文件(/etc/vsftpd/vsftpd.conf)ascii_upload_enable=YESascii_downloa ...
- c++ 初学者 慢慢成长中
C++书籍推荐 从上往下 Essential C++ C++ Primer 中文版 Effeetive C++ More Effeetive C++ C++ 标准程序库 深度探索c++对象模型 C11
- Web Api试图加载格式不正确的程序,解决方法
Web Api试图加载格式不正确的程序,错误如下: 问题原因: 出现上述问题的原因是,所加载的程序集中有32位的,也有64位的,IIS 7 程序池 在Windows下.Net FrameWork是64 ...
- c++中的类(构造函数,析构函数的执行顺序)
类对象的初始化顺序 新对象的生成经历初始化阶段(初始化列表显式或者隐式的完成<这部分有点像java里面的初始化块>)——> 构造函数体赋值两个阶段 1,类对象初始化的顺序(对于没有父 ...