本文小编为大家详细介绍“pandas怎么处理数据中的缺失值和重复值”,内容详细,步骤清晰,细节处理妥当,希望这篇“pandas怎么处理数据中的缺失值和重复值”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。pandas对大数据有很多便捷的清洗用法,尤其针对缺失值和重复值。缺失值就不用说了,会影响计算,重复值有时候可能并未带来新的信息反而增加了计算量,所以有时候要进行处理。针对一些文本数据可能不合要求的还要进行替换什么的。首先导入包:”’一般使用特殊类型 NaN 代表缺失值,可以用 Numpy 可定义它np.NaN/np.nan。在 Pandas 1.0 以后实验性地使用一个标量 pd.NA 来代表。
如果想把正负无穷也为认是缺失值,可以通过以下全局配置来设定:”’#可以判断是否缺失值,DataFrame 和 Series 一般都支持。:其他方法:#整型中的缺失值,由于 NaN 是浮点型,因此一列甚至缺少一个整数的整数列都将转换为浮点。首先生成案例数据:fillna(x) 可以将缺失值填充指定的值。以下为几种常见的填充方法:不指定值,使用一定的方法。使用计算值填充:插值方式,以下是一个非常简单的示例,其中一个值是缺失的,我们对它进行差值:9和25之间的中间点为17,就把缺失值补为了17,这是线性插值。这是二级多项式插值。用X^2这个函数去插值的,”’默认linear 方法,会认为是一条直线。计算方法:默认 method=‘linear’ 如果你的数据增长速率越来越快,可以选择 method=’quadratic’ 二次插值。如果数据集呈现出累计分布的样子,
推荐选择 method=’pchip’。如果需要填补缺省值,以平滑绘图为目标,推荐选择 method=’akima’。method=’akima’ 和 method = ‘pchip’,
需要你的环境中安装了 Scipy 库。除此之外,method=’barycentric’ 和 meth免费云主机域名od=’pchip’ 同样也需要 Scipy 才能使用。使用插值方法,可为:linear:线性,忽略索引,并将值等距地对待,这是MultiIndexes支持的唯一方法time:时间,以插值给定的时间间隔长度处理每日或更高粒度的数据index, values:索引,值,使用索引的实际数值pad:使用现有值填写NaN。‘nearest’, ‘zero’, ‘slinear’, ‘quadratic’, ‘cubic’, ‘spline’, ‘barycentric’, ‘polynomial’:传递给 scipy.interpolate.interp1d,这些方法使用索引的数值。 ‘polynomial’ 和 ‘spline’ 都要求您还指定一个顺序(int),例如 df.interpolate(method=’polynomial’,order=5)nearest:最近zero:零slinear:线性quadratic:二次方cubic:立方spline:花键,样条插值barycentric:重心插值polynomial:多项式‘krogh’, ‘piecewise_polynomial’, ‘spline’, ‘pchip’, ‘akima’: SciPy 类似名称的插值方法。krogh: 克罗格插值piecewise_polynomial: 分段多项式spline: 样条插值pchip: 立方插值 (累计分布)akima: 阿克玛插值 (平滑绘图)from_derivatives:指 scipy.interpolate.BPoly.from_derivatives,它替换了 scipy 0.18 中的 piecewise_polynomial 插值方法。其他参数:axis: 插值应用的轴方向,可选择 {0 or ‘index’, 1 or ‘columns’, None}, 默认为 Nonelimitint: 要填充的连续 NaN 的最大数量, 必须大于 0。inplace: 是否将最终结果替换原数据,默认为 Falselimit_direction: 限制方向,可传入 {‘forward’, ‘backward’, ‘both’}, 默认 ‘forward’,如果指定了限制,则将沿该方向填充连续的 NaNlimit_area: 限制区域,可传入 {None, ‘inside’, ‘outside’}, 默认 None,如果指定了限制,则连续的NaN将被此限制填充None: 没有填充限制‘inside’: 仅填充有效值包围的NaN(内插)‘outside’: 仅将NaN填充到有效值之外(外推)downcast: 可传入‘infer’ 或者 None, 默认是 None,如果可以向下转换 dtypes**kwargs: 传递给插值函数的关键字参数 ”’生成案例数据:重复值的寻找主要使用duplicated,语法为:”’可以返回表示重复行的布尔系列,可以指定列。keep参数确定要标记的重复项(如果有),选项有:first:将除第一次出现的重复值标记为True,默认。last:将除最后一次出现的重复值标记为True。False:将所有重复值标记为True。”’生成案例数据:#默认情况下,对于每组重复的值,第一次出现都设置为False,所有其他值设置为True。通过使用“ last”,将每组重复值的最后一次出现设置为False,将所有其他重复值设置为True。#通过将keep设置为False,所有重复项都为True。要在特定列上查找重复项,请使用子集。”’删除重复值的语法为:subset指定的标签或标签序列可选,仅删除某些列重复项,默认情况为使用所有列,其他有:keep:确定要保留的重复项(如果有)first : 保留第一次出现的重复项,默认last : 保留最后一次出现的重复项。False : 删除所有重复项inplac:False,是将副本放置在适当位置还是返回副本ignore_inde:如果为True, 则重新分配自然索引(0, 1, …, n – 1)”’#默认情况下,它将基于所有列删除重复的行。#要删除特定列上的重复项,使用子集#删除重复项并保留最后一次出现,请使用keep。语法labels表示要删除的行或者列,多个可以传入列表:axis:表示轴方向,默认0(行)index:指定一行或多行columns:指定列level:指定多层索引inplace:立即修改有时候想把数据替换为指定的值,空值缺失值都可以替换除了给定指定值进行替换,我们还可以指定一些替换的方法:替换可以处理缺失值相关的问题,如我们可以将无效的值先替换为 nan,再做缺失值处理:
生成案例数据‘一些用法:生成数据:#对一些极端值,如过大或者过小,可以使用 df.clip(lower, upper) 来修剪,当数据大于 upper 时,使用 upper 的值,
#小于 lower 时用 lower 的值,就像 numpy.clip 方法一样。修剪成最大为3最小为0用来处理数据里面的异常值什么的还是很方便的。读到这里,这篇“pandas怎么处理数据中的缺失值和重复值”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。
这篇文章主要介绍“Java怎么实现文件压缩与上传FTP”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java怎么实现文件压缩与上传FTP”文章能帮助大家解决问题。1.pom文件引入相关jar2.免费云主机域名压缩文件关…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。