NumPy相关介绍
认识numpy数组对象
前提简要:
numpy特点是n维数组对象,即ndarray(array)对象,该对象有矢量算术能力和复杂的广播能力,可执行一些科学计算,在我们常用的numpy库当中,我们为了简便和代码的美观常用于缩写,np
np.shape 数组的维度,n行m列 shape属性是shape(n,m)
np.size 数组当中的总个数
np.dtype 数组当中的元素类型的对象
np.itemsize 数组当中每个字节的大小
创建numpy对象
创建数组最简单的是array()函数
arr1=np.array([1,2,3]) # 一维数组
arr2=np.array([[1],[2],[3]])#二维数组
arr3=np.arange(12).reshape(3,4)
除此之外,还可以通过以下方法来创建一些特殊数组
其中arange是一个等差数组,如aa3
如果是两个参数的话,是一个左闭右开的数组如arr4,后面的reshape是重组数组的行数和列数
ndarray的对象数据类型
数据类型的转换
数据类型转换可以通过astype()函数进行转换,
data=np.array([1,2,3,4])
data.dtype
folat_data=data.astype(np.float64)
数组运算
矢量化运算
矢量化运算,简单来说就是当两个数组的行和列都是一样的时候,可以对其两个数组进行加减乘除运算。
数组广播
广播运算简单来说,当两个数组行和列不一样的时候,会触发数组的广播机制,让两个数组的行和列是一样的
原理介绍:
ndarray的切片和索引
np数组里面访问数据可以通过切片或者索引的方式进行
多维数组的切片,是沿着行或者列的方向选取元素,也可以将切片和索引混合连用
数组的转置和轴对称
数组的转置有两种方法
transpose()函数
.T
numpy通用函数
利用numpy数组进行数据处理
逻辑转换成数组运算
np.where(条件,a,b)中的第一个参数代表判断条件,如果符合就选择a否则b
数组统计运算
sun 求和
mean 求均差
min 最小值
max 最大值
argmin 最小值索引
argmax 最大值索引
cumsum 所有元素累计和
cumprod 所有元素的累计积
数组排序
sort()方法,这个方法会修改数组的本身
数组检索
all()判断用于整个数组的元素当中是否全部满足条件
any()用于判断至少有一个符合条件的
唯一值
unique()用来寻找数组当中的唯一值
in1d() 用来判断函数当中的元素是否在另一个数组当中存在
随机模块
产生随机数主要用于numpy当中的random模块,示例如下: