标签: Numpy

21 篇文章

045、从 Matlab 到 Numpy
从 Matlab 到 Numpy Numpy 和 Matlab 比较 Numpy 和 Matlab 有很多相似的地方,但 Numpy 并非 Matlab 的克隆,它们之间存在很多差异,例如: MATLAB® Numpy 基本类型为双精度浮点数组,以二维矩阵为主 基本类型为 ndarray,有特殊的 matrix 类 1-based 索引 0-based 索引 脚本主要用于线性代数计算 可以使用其他…
044、内存映射
内存映射 Numpy 有对内存映射的支持。 内存映射也是一种处理文件的方法,主要的函数有: memmap frombuffer ndarray constructor 内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区域,同时将物理存储器提交给此区域,内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而且在对该文件进行操作之前必须首先对文件进行映射。 使用内存映射文件处…
043、记录数组
记录数组 记录数组(record array)与结构数组类似: import numpy as np 质点类型: partical_dtype = np.dtype([('mass', 'float'), ('velocity', 'float')]) 生成记录数组要使用 numpy.rec 里的 fromrecord…
042、结构化数组
结构化数组 假设我们要保存这样的数据: name age wgt 0 dan 1 23.1 1 ann 0 25.1 2 sam 2 8.3 希望定义一个一维数组,每个元素有三个属性 name, age, wgt,此时我们需要使用结构化数组。 import numpy as np 定义数组 a: 0 1 2 3 1.0 2.0 3.0 4.0 a = np.array([1.0,2.0,3.0,4…
041、数组读写
数组读写 从文本中读取数组 import numpy as np 空格(制表符)分割的文本 假设我们有这样的一个空白分割的文件: %%writefile myfile.txt 2.1 2.3 3.2 1.3 3.1 6.1 3.1 4.2 2.3 1.8 Writing myfile.txt 为了生成数组,我们首先将数据转化成一个列表组成的列表,再将这个列表转换为数组: data = [] wit…
040、数组广播机制
数组广播机制 import numpy as np 正常的加法: a = np.array([[ 0, 0, 0], [10,10,10], [20,20,20], [30,30,30]]) b = np.array([[ 0, 1, 2], [ 0, 1, 2], [ 0, 1, 2], [ 0, 1, 2]]) a + b array([[ 0, 1, 2], [10, 11, 12], [2…
039、choose 函数实现条件筛选
choose 函数实现条件筛选 对于数组,我们有时候需要进行类似 switch 和 case 进行条件选择,此时使用 choose 函数十分方便: import numpy as np control = np.array([[1,0,1], [2,1,0], [1,2,2]]) np.choose(control, [10, 11, 12]) array([[11, 10, 11], [12, …
038、ufunc 对象
ufunc 对象 Numpy 有两种基本对象:ndarray (N-dimensional array object) 和 ufunc (universal function object)。ndarray 是存储单一数据类型的多维数组,而 ufunc 则是能够对数组进行处理的函数。 例如,我们之前所接触到的二元操作符对应的 Numpy 函数,如 add,就是一种 ufunc 对象,它可以作用于数…
037、二元运算
二元运算 import numpy as np 四则运算 运算 函数 a + b add(a,b) a - b subtract(a,b) a * b multiply(a,b) a / b divide(a,b) a ** b power(a,b) a % b remainder(a,b) 以乘法为例,数组与标量相乘,相当于数组的每个元素乘以这个标量: a = np.array([1,2]) a…
036、向量化函数
向量化函数 自定义的 sinc 函数: import numpy as np def sinc(x): if x == 0.0: return 1.0 else: w = np.pi * x return np.sin(w) / w 作用于单个数值: sinc(0.0) 1.0 sinc(3.0) 3.8981718325193755e-17 但这个函数不能作用于数组: x = np.array(…