获取网站访问qq,湖南网站推广电话,电子商务网站设计实验报告,中国建设官方网站三、数据处理
1.合并数据#xff08;join、merge、concat函数#xff0c;append函数#xff09; Concat()函数使用
1.concat操作可以将两个pandas表在垂直方向上进行粘合或者堆叠。
join属性为outer#xff0c;或默认时#xff0c;返回列名并集#xff0c;如#xff…三、数据处理
1.合并数据join、merge、concat函数append函数 Concat()函数使用
1.concat操作可以将两个pandas表在垂直方向上进行粘合或者堆叠。
join属性为outer或默认时返回列名并集如
df3 pd.concat([df1,df2])
join属性为inner时返回列名交集如
df4 pd.concat([df1,df2],join“inner”)
2.concat操作将两个pandas表在水平方向进行粘合或者堆叠。
df3 pd.concat([df1,df2],axis 1) #默认outer
join()函数使用
可用于简单的横向堆叠直接用index来连接语法格式如下:
pandas.DataFrame.join(self, other, onNone, howleft, lsuffix, rsuffix, sortFalse)
当横向堆叠的两个表的列名有相同时需设置lsuffix或rsuffix参数以示区别否则会报错。
_append()函数使用
_append方法也可用于简单的纵向堆叠这对列名完全相同的两张表特别有用列名不同则会被空值替代。
和concat的axis 0 的效果是一样的
pandas.DataFrame._append(self, other, ignore_indexFalse, verify_integrityFalse)
Merge函数使用
merge函数可以按照指定的列进行合并
实现sql数据库类似的各种join连接操作例如内连接、外连接、左右连接等。
若没有指定列名则自动寻找两个对象中同名的列进行连接运算类似于数据库中的自然连接运算这里类似于df_merge(df1,df2,on‘key’,how‘inner’)
2.清洗数据方法重复值、缺失值判断和填充方法、异常值处理和判断方法
重复数据处理
1.记录重复
drop_duplicates的去重方法。该方法只对DataFrame或者Series类型有效。这种方法不会改变数据原始排列并且兼具代码简洁和运行稳定的特点。
该方法不仅支持单一特征的数据去重还能够依据DataFrame的其中一个或者几个特征进行去重操作。 pandas.DataFrame(Series).drop_duplicates(self, subsetNone, keepfirst, inplaceFalse)
2. 特征重复
特征重复 : 存在一个或多个特征的名称不同但是数据完全相同。
要去除特征之间的的重复可以利用特征间的相似度将两个相似度为1的特征去掉一个。去除特征重复的方法主要有两个corr方法, DataFrame.equals方法
在pandas中相似度的计算方法为corr使用该方法计算相似度时默认为“pearson”法 可以通过“method”参数调节目前还支持“spearman”法和“kendall”法。
但是通过相似度矩阵去重存在一个弊端该方法只能对数值型重复特征去重类别型特征之间无法通过计算相似系数来衡量相似度。
除了使用相似度矩阵进行特征去重之外可以通过DataFrame.equals的方法进行特征去重。
缺失值处理方法
利用isnull或notnull找到缺失值
缺失值在Pandas中的缺失值有四种np.nan (Not a Number) 、NAnot available、 None 和 pd.NaT(时间格式的空值注意大小写不能错)
空值空值在Pandas中指的是空字符串
最后一类是导入的Excel等文件中原本用于表示缺失值的字符“-”、“”等。
isnull()/isna()对于缺失值返回True对于⾮缺失值返回False。
Notnull/notna():对于⾮缺失值返回True对于缺失值返回False。
any()⼀个序列中有⼀个True则返回True否则返回False。
sum()对序列进行求和计算。 1.删除法dropna
删除法分为删除观测记录和删除特征两种它属于利用减少样本量来换取信息完整度的一种方法是一种最简单的缺失值处理方法。
pandas中提供了简便的删除缺失值的方法dropna该方法既可以删除观测记录亦可以删除特征。
pandas.DataFrame.dropna(self, axis0, howany, threshNone, subsetNone, inplaceFalse) 2.替换法
替换法是指用一个特定的值替换缺失值。
特征可分为数值型和类别型两者出现缺失值时的处理方法也是不同的。
缺失值所在特征为数值型时通常利用其均值、中位数和众数等描述其集中趋势的统计量来代替缺失值。
缺失值所在特征为类别型时则选择使用众数来替换缺失值。
pandas库中提供了缺失值替换的方法名为fillna其基本语法如下。 pandas.DataFrame.fillna(valueNone, methodNone, axisNone, inplaceFalse, limitNone)
3.插值法
常用的插值法有线性插值、多项式插值和样条插值等
线性插值是一种较为简单的插值方法它针对已知的值求出线性方程通过求解线性方程得到缺失值。
多项式插值是利用已知的值拟合一个多项式使得现有的数据满足这个多项式再利用这个多项式求解缺失值常见的多项式插值法有拉格朗日插值和牛顿插值等。
样条插值是以可变样条来作出一条经过一系列点的光滑曲线的插值方法插值样条由一些多项式组成每一个多项式都是由相邻两个数据点决定这样可以保证两个相邻多项式及其导数在连接处连续。
线性插值
import numpy as np
from scipy.interpolate import interp1d
xnp.array([1,2,3,4,5,8,9,10])
y1np.array([2,8,18,32,50,80,100,120])
linear_interpinterp1d(x,y1,kindlinear)
print(linear_interp([6,7]))
多项式插值
from scipy.interpolate import lagrange
large_ins_valuelagrange(x,y1)
print(large_ins_value([6,7]))
样条插值
spline_valueinterp1d(x,y1,kindcubic)
print(spline_value([6,7]))
异常值检测方法
1. 3σ原则
数据的数值分布几乎全部集中在区间(μ-3σ,μ3σ)内超出这个范围的数据仅占不到0.3%。故根据小概率原理可以认为超出3σ的部分数据为异常数据。
2.箱线图分析
箱型图提供了识别异常值的一个标准即异常值通常被定义为小于QL-1.5IQR或大于QU1.5IQR的值。
QL称为下四分位数表示全部观察值中有四分之一的数据取值比它小。
QU称为上四分位数表示全部观察值中有四分之一的数据取值比它大。
IQR称为四分位数间距是上四分位数QU与下四分位数QL之差其间包含了全部观察值的一半。
3.标准化数据常见方法离差化标准差标准化
1. 离差标准化公式(Min-max归一化 2. 标准差标准化的公式及特点Z-Score标准化 离差标准化方法简单便于理解标准化后的数据限定在[0,1]区间内。标准差标准化受到数据分布的影响较小。
归一化和标准化的区别和联系区别
归一化是将样本的特征值转换到同一量纲下把数据映射到[0,1]或者[a,b]区间内仅由变量的极值决定因此区间放缩法是归一化的一种。
标准化是依照特征矩阵的列处理数据其通过求z-score的方法转换为标准正态分布和整体样本分布相关每个样本点都能对标准化产生影响。
归一化会改变数据的原始距离分布信息标准化一般不会。
联系 它们的相同点在于都能取消由于量纲不同引起的误差都是一种线性变换都是对向量X按照比例压缩再进行平移。
4.数据变换方法离散化连续型数据
1.哑变量处理
Python中可以利用pandas库中的get_dummies函数对类别型特征进行哑变量处理。 pandas.get_dummies(data, prefixNone, prefix_sep_, dummy_naFalse, columnsNone, sparseFalse, drop_firstFalse)
2.离散化
连续特征的离散化就是在数据的取值范围内设定若干个离散的划分点将取值范围划分为一些离散化的区间最后用不同的符号或整数值代表落在每个子区间中的数据值。
因此离散化涉及两个子任务即确定分类数以及如何将连续型数据映射到这些类别型数据上。
1. 等宽法
将数据的值域分成具有相同宽度的区间区间的个数由数据本身的特点决定或者用户指定与制作频率分布表类似。pandas提供了cut函数可以进行连续型数据的等宽离散化其基础语法格式如下。
pandas.cut(x, bins, rightTrue, labelsNone, retbinsFalse, precision3, include_lowestFalse)
2. 等频法
cut函数虽然不能够直接实现等频离散化但是可以通过定义将相同数量的记录放进每个区间。
等频法离散化的方法相比较于等宽法离散化而言避免了类分布不均匀的问题但同时却也有可能将数值非常接近的两个值分到不同的区间以满足每个区间中固定的数据个数。
3. 基于聚类分析的方法
一维聚类的方法包括两个步骤
将连续型数据用聚类算法如K-Means算法等进行聚类。
处理聚类得到的簇将合并到一个簇的连续型数据做同一标记。
聚类分析的离散化方法需要用户指定簇的个数用来决定产生的区间数