在学习机器学习时,经常会使用到库Numpy。所以在此做一下笔记。
numpy概述:
numpy(Numerical Python)提供了python对多维数组对象的支持;ndarray,具有矢量运算能力,快速、节省空间。numpy支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
ndarray数组概述:
ndarray:N维数组对象(矩阵),所有元素必须是相同类型。
ndarray属性:ndim属性,表示维度个数;shape属性,表示各维度大小;dtype属性,表示数据类型。
首先我们先看一下ndarray的创建方式:
创建ndarray数组:
举个例子:
from numpy import *
a1 = [0,1,2,3,4,5] #一维数组
a2 = [[0,1,2,3,4], [5,6,7,8,9]] #二维数组
a3 = [[[0,1,2,3], [4,5,6,7], [8,9,10,11]], [[12,13,14,15], [16,17,18,19], [20,21,22,23]]] #三位数组
#创建向量
v1 = array(a1) #一维向量
v2 = array(a2) #二维向量
v3 = array(a3) #三维向量
然后,我们再看一下ndarray数组的各个属性如何:
ndarray数组属性:
ndim属性
vector0.ndim
表示向量vector0的维度个数。
继续承接上面的代码举例如下:
dims1 = v1.ndim
dims2 = v2.ndim
dims3 = v3.ndim
print('向量v1的维度个数是',dims1)
print('向量v2的维度个数是',dims2)
print('向量v3的维度个数是',dims3)
输出结果是:
向量v1的维度个数是 1
向量v2的维度个数是 2
向量v3的维度个数是 3
shape属性
vector0.shape[x]
表示向量vector0的第x维度的大小。
下面我们只看向量v3,代码如下:
sh30 = v3.shape[0]
sh31 = v3.shape[1]
sh32 = v3.shape[2]
print('向量v3的第一维度的大小是', sh30)
print('向量v3的第二维度的大小是',sh31)
print('向量v3的第三维度的大小是',sh32)
输出结果是:
向量v3的第一维度的大小是 2
向量v3的第二维度的大小是 3
向量v3的第三维度的大小是 4
dtype属性
vector0.dtype
表示向量vector0数据类型。
举例代码如下:
type3 = v3.dtype
print('向量v3的数据类型是',type3)
输出结果为:
向量v3的数据类型是 int32