Python之Numpy库的简单介绍(一)
Numpy库是一个优秀的开源科学计算库,下面是一些基础的、对数组进行的操作。
在想要应用Numpy库之前,记得添加如下语句。as的作用就相当于一个赋值操作,np就作为numpy的对象
import numpy as np # 这样就可以用np调用numpy库的函数,np相当于一个别名
import numpy # 或者直接使用numpy
- array,其功能就是创建数组
vector = np.array([1,2,3,4,5]) # 创建一维数组
matrix = np.array([[1,2],[3,4],[5,6]]) # 创建一个3x2的数组,二维数组
cube = np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]]) # 创建一个2x2x3的三维数组
对于cube这个三维数组,理解起来可以将其比作一个长方体(矩体),将这个长方体分成两层,三行,两列。由于三维数组在不同的研究方向有不同的意思,有些我自己也不太懂。
array还有一些元素,可以对创建的数组进行设置:
a = np.array([1,2,3,4,5,6], dtype='int32' ,order='C')
# dtype的默认值是能够让数组存在于这个序列中的最小类型,比如说一个由整型和浮点型的数组,dtype值为float32/float64,order常用的可选项为C和F,C是行优先,F是列优先
a.ndim # 可以得到a数组的维度
a.T # 得到a的转置
a.itemsize # 得到每个元素的类型大小(字节)
a.nbytes # 得到整个数组的大小(字节)
a.shape # 得到a数组的形状,元组表示
a.size # 得到a数组的元素个数
a.reshape(2,3) # 得到一个2x3的数组,转换数组的形状
a.min() # 求最小值
a.max() # 求最大值
- arange,其功能是创建一个给定范围的数组
np.arange(12) # 创建一个大小为12的数组,并且元素值从0-11
np.arange(3, 9, 1, dtype='int32') # 创建一个从3开始到9(不包括9),跨度为1的数组,其打印出来的结果就是[3,4,5,6,7,8]
- ndarray,其功能是创建多维数组
a=np.ndarray(shape=(3,4),dtype=int,buffer=np.arange(15).reshape(3,5))
# 第一个shape是你想要创建数组的样式,值为一个元组,buffer是你可以指定的一个数组,但是必须要比创建的样式大,buffer的作用是你可以创建一个根据已有值的新的数组,不设置buffer,则赋随机值
np.ndarray((2,),buffer=np.array([1,2,3]),offset=np.int_().itemsize,dtype=int)
# offset表示偏移量,np.int_().itemsize,itemsize的意思就是计算字节大小,np.int_()表示的是int32这一类型,int32类型占4个字节,那他们结合起来的意思就是,offset=4byte,跳过第一个元素。
- zeros,创建0元素数组(ones)
np.zeros(shape=(3,4,5)) # 元素值均为0
np.ones(shape=(3,4,5)) # 元素值均为1
- hstack、vstack、hsplit、vsplit、tile、dot、sum的使用,实际效果可以用本地IDE调试
np.hstack(array1,array2) # 水平拼接
np.vstack(array1,array2) # 垂直拼接
np.hsplit(array1, 2) # 将array1水平分割成两个单独的数组
np.vsplit(array1, 2) # 将array1垂直分割
np.tile(array, (2, 2)) # 行数增加2倍,列数增加2倍
np.dot(array1,array2) # 矩阵乘法
matrix = np.array([[1,3,4],[2,24,5],[4,6,7]])
matrix.sum(axis = 1) # axis=1时把数组中的元素按列相加,axis=0时把数组按行相加
- concatenate的使用
a = np.array([[1,2,3],[4,5,6]])
b = np.array([[4,5,6],[7,8,9]])
np.concatenate((a,b),axis=0) # axis=0时,垂直合并 axis=1时,水平合并
今天先写到这里吧,适用于像我这样的新手,是一些很简单的操作,最主要是了解原理!