Python numpy(ndarray 随机数组 常用操作 线性方程组和矩阵运算)
2017-07-16 19:59
971 查看
关键词:开源 数据计算扩展
功能:ndarry 多维操作 线性代数
官网:www.numpy.org
安装:
pip install numpy
1、ndarray
2、一些数组
3、常用操作
4、线性方程组和矩阵运算
5、其它应用
功能:ndarry 多维操作 线性代数
官网:www.numpy.org
安装:
pip install numpy
1、ndarray
import numpy as np def main(): list = [[1,3,5],[2,4,6]] print(type(list)) n_list = np.array(list) print(type(n_list)) n_list = np.array(list,dtype=np.float) #指定数据类型,bool int int8 int16 int32 int64 int128 uint8 uint16 uint32 ... uint128 float float16 float32 complex64 print(n_list.shape)#(2, 3) 2行3列 print(n_list.ndim)#维数 2 print(n_list.dtype) # 数据类型 float64 print(n_list.itemsize)#数据元素的大小 print(n_list.size)#数据元素的个数 if __name__ == "__main__": main()
2、一些数组
print(np.zeros([2,4]))#生成2行4列初值为0的数组 print(np.ones([3,5]))#生成3行5列初值为1的数组 print("Rand:") #不带n的为服从均匀分布的随机数 print(np.random.rand(2,4)) #生成2行4列初值为0-1之间的随机数的数组 print(np.random.rand())#生成一个0-1之间的随机数 print(np.random.randint(1,10))#生成一个1-10之间的整数 print(np.random.randint(1, 10,3)) # 生成3个1-10之间的整数 print(np.random.randn()) # 生成一个服从标准正态分布的随机数 print(np.random.randn(2,4)) # 生成2行4列服从标准正态分布的随机数 print(np.random.choice([10,20,30])) #生成从指定集合里面选出的随机数 print("Distribute:") print(np.random.beta(1,10,3))#生成3个服从beta分布的1-10之间的随机数
3、常用操作
print("oprations:") print(np.arange(1,11))#生成【1,10】之间的数 [ 1 2 3 4 5 6 7 8 9 10] list2 = np.arange(1,11).reshape([2,5]) print(list2)#将其调整为2行5列 [[ 1 2 3 4 5] [ 6 7 8 9 10]] print(np.exp(list2)) print(np.exp2(list2)) print(np.sqrt(list2)) print(np.sin(list2)) print(np.log(list2)) list3 = np.array( [ [ [1,2,3,4], [4,5,6,7] ], [ [7,8,9,10], [10,11,12,13] ], [ [14,15,16,17], [18,19,20,21] ] ]) print(list3.sum()) print(list3.sum(axis=0)) ''' axis=0 [ [1,2,3,4],[4,5,6,7] ] + [ [7,8,9,10],[10,11,12,13] ] + [ [14,15,16,17],[18,19,20,21] ] = [ [1+7+14,2+8+15,3+9+16,4+10+17],[4+10+18,5+11+19,6+12+20,7+13+21] ] = [ [22,25,28,31],[32,35,38,41] ] ''' print(list3.sum(axis=1)) ''' axis=1 [ [1,2,3,4],[4,5,6,7] ] + [ [7,8,9,10],[10,11,12,13] ] + [ [14,15,16,17],[18,19,20,21] ] = [ 1+4,2+5,3+6,4+7 ] [ 7+10,8+11,9+12,10+13 ] [ 14+18,15+19,16+20,17+21 ] = [ 5 7 9 11] [17 19 21 23] [32 34 36 38] ''' print(list3.sum(axis=2)) ''' axis=2 [ [1,2,3,4],[4,5,6,7] ] + [ [7,8,9,10],[10,11,12,13] ] + [ [14,15,16,17],[18,19,20,21] ] = [ [1+2+3+4,4+5+6+7] ] [ 7+8+9+10,10+11+12+13 ] [ 14+15+16+17,18+19+20+21 ] = [10 22] [34 46] [62 78] ''' # print(list3.sum(axis=3)) #报错 print("类似的:") print(list3.max(axis=1)) print(list3.min(axis=0)) list4 = np.array([1,2,3,4]) list5 = np.array([5,3,2,3]) print("Add") print(list4 + list5) print("ub") print(list4 - list5) print("Mul") print(list4 * list5) print("Div") print(list4 / list5) print("Square") print(list4**2) print("DOt") print(np.dot(list4.reshape([2,2]),list5.reshape(2,2))) print("向array中追加数据") print(np.concatenate((list4,list5),axis=0)) print(np.vstack((list4,list5))) print(np.hstack((list4, list5))) print("拆分array") print(np.split(list4,2))
4、线性方程组和矩阵运算
print("线性方程组和矩阵运算") print(np.eye(3))#生成3介单位矩阵 list6 = np.array([ [1.,2.],[3.,4.] ]) print("矩阵的逆") print(inv(list6)) print("转置矩阵") print(list6.transpose()) print("行列式") print(det(list6)) print("特征值和特征向量") print(eig(list6)) ''' (array([-0.37228132, 5.37228132]), array([[-0.82456484, -0.41597356], [ 0.56576746, -0.90937671]])) 第一个array表示特征值,第二个array表示特征向量 ''' print("解方程组") y = np.array([[5.],[7.]]) print(solve(list6,y)) ''' list6 = np.array([ [1.,2.],[3.,4.] ]) y = np.array([[5.],[7.]]) 即 x1 + 2x2 = 5 3x1 + 4x2 = 7 解得x1=-3 x2=4 '''
5、其它应用
print("信号处理FFT") print(np.fft.fft(np.array([1,1,1,1,1,1,1,1,1,1,1]))) print("相关系数") print(np.corrcoef([1,0,1],[0,2,1]))
相关文章推荐
- 【python学习笔记】18:numpy数组函数与矩阵运算
- Python矩阵运算库numpy常用函数
- python numpy 使用笔记 矩阵操作
- python的Numpy之矩阵操作
- Python Numpy的数组array和矩阵matrix
- Python Numpy 数组的初始化和基本操作
- python numpy包的数组与矩阵一些差异
- Numpy入门学习之(五)数组、矩阵中级操作
- Python中Array的常用操作(三)数组高级操作
- python numpy矩阵和数组的转换
- 【python学习笔记】16:numpy数组四则运算
- NumPy常用【数值计算】函数总结(1):生成数组、读取数组、数组操作
- python基础练习(三)—— numpy的矩阵基本操作
- 转载 matlab矩阵数组常用操作
- Python.Numpy学习零碎笔记之数组与矩阵
- 基于Python Numpy的数组array和矩阵matrix详解
- python numpy.random生成随机数组
- 运用numpy进行数组、向量、矩阵运算
- 学习Python数据分析(2.1)----Numpy数组以及数组的操作
- Python使用numpy产生正态分布随机数的向量或矩阵操作示例