NumPy——快速处理数据
2017-07-12 22:20
274 查看
1. 创建数组
#导入NumPy函数库 import numpy as np #创建一个一维数组 a = np.array([1,2,3,4]) #创建双精度一维数组 b = np.array([5,6,7,8],dtype=np.complex) #创建一个shape初始值为(3,4)的数组 c = np.array([[1,2,3,4],[4,5,6,7],[7,8,9,10]]) #更改数组shape属性,当某个轴的元素个数为-1时,shape自动计算 c.shape=4,3 #定义指定形状的数组 d = a.reshape((2,2)) #arrange()通过指定开始值、终值、步长创建等差一维数组 print(np.arange(0,1,0.1)) #linspace()通过指定开始值、终值、元素个数创建等差一维数组,endpoint=true时包含终止值 print(np.linspace(0,1,10,endpoint=False)) #logspace()构造从base^a到base^b,包含n个元素的等比数组 print(np.logspace(0,1,12,base=2,endpoint=False)) #zeros()将数组元素初始化为0 print(np.zeros((2,3),np.float)) #将字符串转化为数组 s="abcdefgh" print(np.fromstring(s,dtype=np.int8))
2.数组存取
a[m:n]代表截取下标为m到n-1的数组片段
3.结构体数组
#导入NumPy函数库 import numpy as np #创建结构体数组,其中'S32'==长度32字节字符串,‘i’==np.int32,'f'==np.float32, person = np.dtype({ 'names':['name','age','weight'], 'formats':['S32','i','f'] },align=True) a = np.array([("zhang",32,75.5),("wang",24,65.2)],dtype=person)
4.ufunc运算
4.1 数组运算对应的ufunc函数PS:其中第三维代表结果保存的位置
4.2 比较和布尔运算,返回值为一个有布尔值构成的数组
4.3 与或非及异或运算
调用下列函数,在括号中写运算条件,多个条件用逗号分隔:
np.logical_and()
np.logical_not()
np.logical_or()
np.logical_xor()
4.4 自定义ufunc函数
#导入NumPy函数库 import numpy as np #自定义函数 def trangle_wave(x,c,c0,hc): x=x-int(x) if x >= c: r=0.0 elif x < c0 : r = x/ c0 *hc else: r = (c-x)/(c-c0)*hc return r x = np.linspace(0,2,10) #调用frompyfunc(),将自定义函数转化为能对数组中每个元素计算的ufunc函数 trangle_fun1=np.frompyfunc(trangle_wave,4,1) y2 = trangle_fun1(x,0.6,0.4,1.0) print(y2)
5.线性代数
5.1 dot()运算前两维的计算意义在代码注释中,对于多维数组,其运算结果相当于数组a的最后一维与数组b的倒数第二维的所有元素乘积之和
#导入NumPy函数库 import numpy as np #对于二维数组,dot()相当于矩阵乘积运算 a = np.random.randint(0,9,12).reshape(3,4) #print(a) b = np.random.randint(0,9,16).reshape(4,4) #print(b) c = np.dot(a,b) print(c) #对于一维数组,dot()相当于内积计算,即数组对应下标的乘积之和 d=np.array([1,2,3]) e=np.array([1,2,3]) f = np.dot(d,e) print(f)
5.2 求解多元一次线性方程组:
numpy提供的线性代数模块中:
inv()用来计算矩阵的逆,
solve()用来求解多元一次方程组,其求解相当于找到一个长度为N的一维数组x,使得a·x=b
#导入NumPy函数库 import numpy as np a = np.random.rand(10,10) b = np.random.rand(10) x = np.linalg.solve(a,b) print(x)
相关文章推荐
- Numpy快速处理数据--多项式函数(四)
- NumPy-快速处理数据--矩阵运算
- NumPy-快速处理数据
- Python科学计算学习一 NumPy 快速处理数据
- NumPy-快速处理数据
- NumPy-快速处理数据
- NumPy-快速处理数据--ndarray对象--多维数组的存取、结构体数组存取、内存对齐、Numpy内存结构
- NumPy-快速处理数据
- Python NumPy-快速处理数据
- Numpy快速处理数据--结构数组(二)
- NumPy-快速处理数据--ufunc运算--广播--ufunc方法
- Python.NumPy -- 快速处理数据
- NumPy-快速处理数据
- Numpy-快速处理数据-ndarray篇
- 【转】NumPy-快速处理数据
- NumPy-快速处理数据
- Numpy快速处理数据--ndarray对象(一)
- NumPy-快速处理数据
- Numpy快速处理数据--ufunc运算(三)
- NumPy-快速处理数据--ndarray对象--数组的创建和存取