numpy
一、概念
-
数组事numpy 的最基本数据对象,也是一种大容量数据容器
-
矢量化运算,基本代替for 语句,大大提高运算速度
-
空值处理
-
空值处于离散数据列,必须把空值所在行删除
-
空值处在连续数据列,考虑对空值进行补值
-
补值方法
-
易
-
就近补值
-
平均值,中位数,众数
-
随机补值
-
-
难
-
lagrange 补值
-
EM补值
-
回归法补值
-
牛顿法补值
-
-
-
-
-
离散数据和连续数据
-
离散数据
-
包括名目数据 或是顺序数据
-
描述事物的数据,表明事物属性,
-
名目数据无法估值
-
-
连续数据
-
包括区间数据和等比数据
-
区间数据:温度,压强,时间等
-
等比数据:有自然0点 的数据,身高体重等
-
-
二、操作
-
创建
-
基本创建
numpy.array(数组,dtype = 指定数据类型)
-
指定外形创建随机数
numpy.array(range(1,101)).reshape(10,10)
注意:reshape 的两个参数 的乘积必须等于前面数据中数据的个数!!!!!!!!!
-
arange
np.arange(2,25,2).shape(3,4)
-
random
numpy.array(random.randint(1,100,(3,3)))
-
特殊数组
-
np.zeros((5,5)) :0数组
-
np.ones((5,5)) : 1数组
-
np.empty((5,5)):并不是无值的空
-
np.identity(6):单位数组创建
-
-
模仿现有数组外形的特殊数组
-
empty_like,ons_likes.zeros_likes
Np.ones(data)
-
-
-
查看
-
dtype:查看数组中数据的数据类型
-
astype:强制转类型
-
shape:查看数组的外形,数组形式返回
-
ndim : 返回数组维度
-
-
选区/切片
-
数组的切片称为选区
-
与列表的区别:
-
都是左闭右开
-
广播功能:利用切片和选区进行获取数据,赋值给新的变量;新的变量值改变,原列表数据不会变化,而选区后的原数组会变化,可以利用copy 对原数据的备份数据进行选区
-
-
[a:b,c:d] a,b 选行 / c,d 选列
-
选区赋值:
-
列表赋值
arr123 [1:3,1:3]=[[-2,-4],[-8,-1]] #注意这里必须是嵌套列表
-
元组赋值
arr123[1:3,1:3]=((0,0),(-1,-1))
-
数组赋值
arr123[1:3,1:3]=np.array([[-2,-2],[-8,-8]])
-
单元素赋值
arr123[1:3,1:3]=0
-
-
-
花式索引
-
针对多维数据进行精确查找
-
返回索引结果数组
-
基本形式:数组[ [ ] ,[ ] ]
第一个中括号里的整数索引码与第二个中括号里的整数索引码一起构成了一系列索引坐标,通过这些索引坐标可以实现精确查找。
-
-
numpy的函数
-
np_data.T : 二维数组转置
-
transpose :高纬矩阵转置
-
按照轴号位置的变化而变化
-
没有转置前的高维数组轴编号顺序总是为:(0,1,2...)。通过transpose函数可以把未转置的数组轴编号布局(0,1,2...)转换到transpose参数指定的轴编号布局。
-
在完成转置后,原矩阵的外形和矩阵的矩阵中元素分布都将会随着轴编号布局的变化而变化。
-
-
np.dot (np_data1,np_data2) : 两个矩阵的点积
-
np.trace(np_data) :矩阵对角线之和(矩阵必须是方阵)
-
np.linspace(-2,2,400):
指定作用域,创建数组,范围-2到2,400百份
-
-
一次函数
-
np.sqrt (np_data ): 开方函数
-
np.exp 函数
-
np.abs 绝对值函数
-
取整数
-
向下取整数
np.floor(np_data)
-
向上取整
np.ceil(np_data)
-
-
-
二次函数
-
np.maximum 比较两个数组,保留大数字
-
np.add,Subtract,Multiply,devide:对数组进行加减乘除
-
np.power(np_data1,np_data2)
次方:np_data1是底,np_data2是幂
-
np.meshgrid() :
-
让数组之间进行网格化交点
-
一般用作画图
-
-
拼接:
-
np.column_stack((a,b)): 将a,b 两个一维数组,以列的形式组合
-
-
-
数据快速挑选函数
-
用np.where 快速挑选函数
-
np.where(condition,[x,y])
如果满足条件,返回x,否则返回y
-
条件单bool值
-
bool矩阵
-
-
-
基本统计函数
-
方差和标准差(var,std)
-
Sum(和),mean(平均值),min(小),max(大) 函数
-
作为方法:np_data.sum( axis = )
-
将数组以行/列(0/1)形式求和,返回结果数组
-
axis = 0 逐行按列
-
-
作为函数:np.sum(np_data,axis = )
-
-
argmin/argmax函数
-
返回数组中最小值和最大值的索引
-
-
cumsum(所有元素的累积和)cumprod(所有元素的累积积)
-
可以指定行和列
-
-
-
常用bool数组方法,数据排序和去重
-
sum:sum()函数可以统计bool_ar中的True的数量
-
all和any方法 :
-
any()说明数组里有true,
-
all()检验数组是不是全是true
-
可用于检验是否存在特征数据
-
-
排序sort(axis)
注意::sort用作函数(np.sort)是一次性排序,用做方法(.sort)是永久性排序
-
去重
up.unique()
-
删除
-
Up.delete()
-