Python numpy(ndarray 随机数组 常用操作 线性方程组和矩阵运算)
来源:互联网 发布:黔马网络 新天下无双 编辑:程序博客网 时间:2024/06/05 07:31
关键词:开源 数据计算扩展
功能:ndarry 多维操作 线性代数
官网:www.numpy.org
4、线性方程组和矩阵运算
5、其它应用
功能:ndarry 多维操作 线性代数
官网:www.numpy.org
安装:
pip install numpy
1、ndarray
import numpy as npdef 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()
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之间的随机数
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]))
阅读全文
0 0
- Python numpy(ndarray 随机数组 常用操作 线性方程组和矩阵运算)
- python-numpy常见ndarray操作
- python科学计算笔记(一)NumPy中ndarray对象、ufunc运算、矩阵运算
- Python矩阵运算库numpy常用函数
- Python: NumPy中的多维数组ndarray
- Python: NumPy中的多维数组ndarray
- numpy中的矩阵和数组运算
- NumPy 数组矩阵运算
- numpy矩阵运算和常用函数
- numpy的线性方程组和矩阵计算
- numpy ndarray 数组对象
- numpy-数组对象ndarray
- Numpy ndarray数组切片
- numpy.ndarray 交换多维数组(矩阵)的行/列
- 'numpy.ndarray' python.list
- Python:numPy 的 ndarray
- python numpy矩阵和数组的转换
- Python+Numpy------数组运算
- linux中的/usr,/var,/opt目录详解
- Pytnon中的字典
- 从2D地图到3D城市模型的概略路线
- linux下从源码编译比特币客户端
- 数据结构——一
- Python numpy(ndarray 随机数组 常用操作 线性方程组和矩阵运算)
- 疯狂java学习笔记(三)
- Java实现-将普通表达式转换成逆波兰表达式并计算
- 聊聊服务化
- Android PendingIntent的getActivity()、getBroadcast()、getService()方法的区别
- [leetcode]03 longest substring without repeating
- 如何使用C语言判断网站、服务器是否通畅
- Docker学习总结
- Ubuntu14.04环境下配置TFTP服务器