Python-Numpy库的学习
Posted r-sea-l
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python-Numpy库的学习相关的知识,希望对你有一定的参考价值。
Numpy是数据科学领域中最基础的Python库,它提供了一种快速高效的数学运算,可以和线性代数等数学知识有效的结合起来。而且Numpy是基于C语言实现的,所以它的运行效率足以和C/Matlab相媲美。
1、Array的创建
import numpy as np # 第一种创建方式 # list1 = [1, 2, 3, 4] # array1 = np.array(list1) # array1 # 创建多维数组 # list2 = [5, 6, 7, 8] # array2 = np.array([list1,list2]) # array2 # 第二种创建方式 # array3 = np.arange(1, 10, 3) #np.arange(n, m, p) 从n到m-1间隔为p创建数组 # array3 # 第三种,创建零数组 # array4 = np.zeros(3,3) #np.zeros(n) 一行n列零数组 # array4 # array5 = np.zeros([4,5]) #np.zeros([m,n]) m行n列零数组 # array5 # 第四种创建单位矩阵 # array6 = np.eye(3) #np.eye(n) n阶单位矩阵 # array6
2、快速创建Array
import numpy as np # np.random.randn(n) 创建长度为n,元素类型为float的一维数组 np.random.randn(10) # np.random.randint(m,size(a,b)) 创建元素类型为int且大小在0到m-1的a*b多维数组 np.random.randint(10,size=(3,4)) # 通过reshape把改变维数 np.random.randint(10,size=(3,4)).reshape(6,2)
3、Array的属性
import numpy as np # 创建二维数组 array1 = np.array([[1, 2, 3, 4],[5, 6, 7, 8]]) array1 # 查看数组的类型 array1.shape # 查看数组元素的个数 array1.size # 查看数组元素的类型 array1.dtyp # 若数组元素的类型不一致,取精确度最高的
4、Array的访问
import numpy as np # 创建一维数组 array1 = np.arange(1, 10) array1 # 访问数组中的元素 array1[2] # index是从0开始 array[n] 访问第n+1位的元素 array1[1:3] # 访问第二位到第四位的元素 # 二维数组 array2 = np.array([[1, 2, 3, 4],[5, 6, 7, 8]]) array2 array2[1][0] # 访问第二行第一列的元素 array2[1,0] # 和上述一个意思 # 多维数组 array3 = np.array([[1, 2, 3],[4, 5, 6],[7, 8, 9]]) array3[:2, 1:] #左边指定行,右边指定列。 从第一行到第二行,第二列到最后一列
5、Array常见函数
import numpy as np #创建数组 a = np.random.randint(10, size=12).reshape(3,4) # unique()函数 np.unique(a) # 返回数组中唯一的元素 # sum()函数 sum(a) # 返回每一列的和 # 具体某一行 sum(a[0]) # 返回第一行元素的和 # 具体某一列 sum(a[:,0]) # 返回第一列元素的和 # max()函数 a.max() # a中元素最大的 # 某一行某一列最大的元素 和sun()函数类似 max(a[0]) # 第一行最大的元素 max(a[:,0]) # 第一列最大的元素
6、数组运算
import numpy as np # 创建两个多维数组 array1 = np.array([[1,2,3],[4,5,6],[7,8,9]]) array2 = np.array([[0,1,2],[2,3,0],[4,5,6]]) # 加减法 对应位置相加减 # array1 + array2 # array1 - array2 # 乘法 对应位置相乘 # array1 * array2 # 除法 对应位置相除 # array1 / array2 # 会出现警告 因为除数不能为0
7、矩阵的创建
import numpy as np # 第一种方式 a = np.mat([[1,2,3],[4,5,6]]) # 第二种方式 与数组联系起来 b = np.mat(np.random.randint(10, size=6).reshape(3,2))
8、矩阵的运算
import numpy as np # 创建两个矩阵 A = np.mat([[1,2,3],[4,5,6]]) B = np.mat([[7,8,9],[2,4,8]]) # 加减法 和数组的加减法一样 # A + B # A - B # 对应位置相加减 # 乘法 ‘‘‘ 直接写 A * B 是肯定不行的! 矩阵相乘的基本法则是前一个矩阵的列数等于后一个矩阵的行数 ‘‘‘ # 上述问题可以通过把B转置成3*2的矩阵 B.T A * B.T
以上是关于Python-Numpy库的学习的主要内容,如果未能解决你的问题,请参考以下文章
神经网络基本原理简明教程-0-Python-Numpy库的点滴
Python-Numpy库的扩维(维度扩展)操作示例代码积累
详解Python-Numpy库的函数diagonal()并附函数diagonal()与函数diag()的区别