Python 科学计算库numpy
Numpy基础数据结构
NumPy数组是一个多维数组对象,称为ndarray。其由两部分组成:
- 实际的数据
- 描述这些数据的元数
| # 多维数组ndarray import numpy as np ar = np.array([1,2,3,4,5,6,7]) # 数组的基本属性 # 创建数组:arange(),类似range(),在给定间隔内返回均匀间隔的值。 # 创建数组:linspace():返回在间隔[开始,停止]上计算的num个均匀间隔的样本。 ar1 = np.linspace(2.0, 3.0, num=5) # 创建数组:zeros()/zeros_like()/ones()/ones_like() ar1 = np.zeros(5)   ar5 = np.ones(9) # ones()/ones_like()和zeros()/zeros_like()一样,只是填充为1 # 创建数组:eye() print(np.eye(5)) ndarray的数据类型 bool 用一个字节存储的布尔类型(True或False) inti 由所在平台决定其大小的整数(一般为int32或int64) int8 一个字节大小,-128 至 127 int16 整数,-32768 至 32767 int32 整数,-2 ** 31 至 2 ** 32 -1 int64 整数,-2 ** 63 至 2 ** 63 - 1 uint8 无符号整数,0 至 255 uint16 无符号整数,0 至 65535 uint32 无符号整数,0 至 2 ** 32 - 1 uint64 无符号整数,0 至 2 ** 64 - 1 float16 半精度浮点数:16位,正负号1位,指数5位,精度10位 float32 单精度浮点数:32位,正负号1位,指数8位,精度23位 float64或float 双精度浮点数:64位,正负号1位,指数11位,精度52位 complex64 复数,分别用两个32位浮点数表示实部和虚部 complex128或complex 复数,分别用两个64位浮点数表示实部和虚部 | 
| 核心:基本索引及切片 / 布尔型索引及切片 ar = np.arange(20) ar = np.arange(16).reshape(4,4) | 
| numpy.random包含多种概率分布的随机样本,是数据分析辅助的重点工具之一 # 随机数生成 samples = np.random.normal(size=(4,4)) # numpy.random.rand(d0, d1, ..., dn):生成一个[0,1)之间的随机浮点数或N维浮点数组 —— 均匀分布 import matplotlib.pyplot as plt  # 导入matplotlib模块,用于图表辅助分析 a = np.random.rand() b = np.random.rand(4) c = np.random.rand(2,3) samples1 = np.random.rand(1000) # numpy.random.randn(d0, d1, ..., dn):生成一个浮点数或N维浮点数组 —— 正态分布 samples1 = np.random.randn(1000) # numpy.random.randint(low, high=None, size=None, dtype='l'):生成一个整数或N维整数数组 print(np.random.randint(2)) print(np.random.randint(2,size=5)) print(np.random.randint(2,6,size=5)) print(np.random.randint(2,size=(2,3))) print(np.random.randint(2,6,(2,3))) # 随机种子    就是每次的随机数字都会发生变化,用这个呢   就可保留随机的值 rng = np.random.RandomState(1)   fig = plt.figure(figsize =(12,3)) | 
| 数组形状改变(3种) # 数组形状:.T/.reshape()/.resize() # .T方法:转置,例如原shape为(3,4)/(2,3,4),转置结果为(4,3)/(4,3,2) → 所以一维数组转置后结果不变 # numpy.reshape(a, newshape, order='C'):为数组提供新形状,而不更改其数据,所以元素数量需要一致!! # numpy.resize(a, new_shape):返回具有指定形状的新数组,如有必要可重复填充所需数量的元素。 ar3 = ar1.copy() # 数组类型转换:.astype() ar1 = np.arange(10,dtype=float) ar2 = ar1.astype(np.int32) # 数组堆叠 a = np.arange(5)    # a为一维数组,5个元素 a = np.arange(5)     a = np.arange(5)     # 数组拆分 ar = np.arange(16).reshape(4,4) ar2 = np.vsplit(ar,4) # 数组简单运算 ar = np.arange(6).reshape(2,3) print(ar.mean())  # 求平均值 | 
Python 科学计算库numpy的更多相关文章
- Python科学计算库Numpy
		Python科学计算库Numpy NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库. 1.简 ... 
- python科学计算库numpy和绘图库PIL的结合,素描图片(原创)
		# 导入绘图库 from PIL import Image #导入科学计算库 import numpy as np #封装一个图像处理工具类 class TestNumpy(object): def ... 
- [Python学习] python 科学计算库NumPy—矩阵运算
		NumPy库的核心是矩阵及其运算. 使用array()函数可以将python的array_like数据转变成数组形式,使用matrix()函数转变成矩阵形式. 基于习惯,在实际使用中较常用array而 ... 
- Python科学计算库-Numpy
		NumPy 是 Python 语言的一个扩充程序库.支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,也是学习 python 必学的一个库. 1. 读取文件 numpy.gen ... 
- [Python学习] python 科学计算库NumPy—tile函数
		在学习knn分类算法的过程中用到了tile函数,有诸多的不理解,记录下来此函数的用法. 函数原型:numpy.tile(A,reps) #简单理解是此函数将A进行重复输出 其中A和reps都是ar ... 
- Python科学计算库
		Python科学计算库 一.numpy库和matplotlib库的学习 (1)numpy库介绍:科学计算包,支持N维数组运算.处理大型矩阵.成熟的广播函数库.矢量运算.线性代数.傅里叶变换.随机数生成 ... 
- 科学计算库Numpy基础&提升(理解+重要函数讲解)
		Intro 对于同样的数值计算任务,使用numpy比直接编写python代码实现 优点: 代码更简洁: numpy直接以数组.矩阵为粒度计算并且支持大量的数学函数,而python需要用for循环从底层 ... 
- python科学计算库的numpy基础知识,完美抽象多维数组(原创)
		#导入科学计算库 #起别名避免重名 import numpy as np #小技巧:从外往内看==从左往右看 从内往外看==从右往左看 #打印版本号 print(np.version.version) ... 
- python科学计算之numpy
		1.np.logspace(start,stop,num): 函数表示的意思是;在(start,stop)间生成等比数列num个 eg: import numpy as np print np.log ... 
随机推荐
- JSP页面中验证码的调用方法
			步骤: 1.首先是要生成验证码 2.对验证码类进行调用:主要 实现的是 将验证码图片 输出到response.getOutputStream()这个输出流中 调用时,可以在页面调用,也可以在serv ... 
- DirectX11笔记(四)--渲染管线
			原文:DirectX11笔记(四)--渲染管线 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010333737/article/details/ ... 
- DX9纹理半像素偏移-Directly Mapping Texels to Pixels
			原文:DX9纹理半像素偏移-Directly Mapping Texels to Pixels 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u01 ... 
- 【风马一族_php】
			原文来自:http://www.cnblogs.com/sows/p/6054383.html (博客园的)风马一族 侵犯版本,后果自负 2016-11-11 15:13:51 回顾 数组:分配 ... 
- oracle在不知道用户密码的时候,怎么样跳转到另外一个用户执行操作后并不影响该用户?
			我们通过如下的方法,可以安全使用该用户,然后再跳转回来,在某些时候比较有用 需要Alter user权限或DBA权限: SQL> select password from dba_users w ... 
- @codeforces - 717A@ Festival Organization
			目录 @description@ @solution@ @accepted code@ @details@ @description@ 一个长度为 n 的 01 序列是好的,当且仅当该序列任意两个 0 ... 
- Web富媒体应用
			曾几何时,大家都在以flash开发的富媒体交互应用而感叹,一是叹它的丰富多彩的效果,一是叹它的局限.性能以及加载时长等问题. 如今,市场以及基本上没有flash什么事情了,而是H5的天下,可惜,移动应 ... 
- poj2391 最大流+拆点
			题意:F块草坪,上面有n头牛,可以容纳m个牛遮雨.将草坪一份为2,成为二部图. 对于此题,和poj2112很像,只是2112很明显的二部图.这道题就开始敲,但是建图遇到问题,草坪的2个值怎么处理,于是 ... 
- navicat 导入SQL文件出错
			1.新建数据库 在数据库名或者表名上右键 运行SQL语句 2.去掉对勾 F5刷新则可以发现导入的表. 
- iOS:学习runtime的理解和心得
			http://www.cocoachina.com/ios/20150901/13173.html 作者:兴宇是谁 授权本站转载. Runtime是想要做好iOS开发,或者说是真正的深刻的掌握OC这门 ... 
