Python处理缺失值有什么影响,有哪些处理方法
Admin 2022-08-13 群英技术资讯 688 次浏览
在本文中,我们将介绍 8 种不同的方法来解决缺失值问题,哪种方法最适合特定情况取决于数据和任务。
让我们首先创建一个示例数据框并向其中添加一些缺失值。
我们有一个 10 行 6 列的数据框。
下一步是添加缺失值。 我们将使用 loc 方法选择行和列组合,并使它们等于“np.nan”,这是标准缺失值表示之一。
这是数据框现在的样子:
item 和 measure 1 列具有整数值,但由于缺少值,它们已被向上转换为浮点数。
在 Pandas 1.0 中,引入了整数类型缺失值表示 (),因此我们也可以在整数列中包含缺失值。 但是,我们需要显式声明数据类型。
尽管有缺失值,我们现在可以保留整数列。
现在我们有一个包含一些缺失值的数据框。 是时候看看处理它们的不同方法了。
一种选择是删除包含缺失值的行或列。
使用默认参数值,dropna 函数会删除包含任何缺失值的行。数据框中只有一行没有任何缺失值。同时我们还可以选择使用轴参数删除至少有一个缺失值的列。
另一种情况是有一列或一行充满缺失值。 这样的列或行是无用的,所以我们可以删除它们。
dropna 函数也可以用于此目的。 我们只需要改变 how 参数的值。
基于“any”或“all”的删除并不总是最好的选择。 我们有时需要删除具有“大量”或“一些”缺失值的行或列。
我们不能将这样的表达式分配给 how 参数,但 Pandas 为我们提供了一种更准确的方法,即 thresh 参数。
例如,“thresh=4”意味着至少有 4 个非缺失值的行将被保留。 其他的将被丢弃。
我们的数据框有 6 列,因此将删除具有 3 个或更多缺失值的行。
只有第三行有 2 个以上的缺失值,所以它是唯一一个被丢弃的。
在删除列时,我们可以只考虑部分列。
dropna 函数的子集参数用于此任务。 例如,我们可以删除在度量 1 或度量 2 列中有缺失值的行,如下所示:
到目前为止,我们已经看到了根据缺失值删除行或列的不同方法。放弃并不是唯一的选择。 在某些情况下,我们可能会选择填充缺失值而不是删除它们。
事实上,填充可能是更好的选择,因为数据意味着价值。 如何填补缺失值,当然取决于数据的结构和任务。
fillna 函数用于填充缺失值。
我们可以选择一个常量值来替代缺失值。如果我们只给 fillna 函数一个常量值,它将用该值替换数据框中的所有缺失值。
更合理的方法是为不同的列确定单独的常量值。 我们可以将它们写入字典并将其传递给 values 参数。
item 列中的缺失值替换为 1014,而 measure 1 列中的缺失值替换为 0。
另一种选择是使用聚合值,例如平均值、中位数或众数。
下面这行代码用该列的平均值替换了第 2 列中的缺失值。
可以用该列中的前一个或下一个值替换该列中的缺失值。在处理时间序列数据时,此方法可能会派上用场。 假设您有一个包含每日温度测量值的数据框,但缺少一天的温带。 最佳解决方案是使用第二天或前一天的温度。
fillna 函数的方法参数用于执行此任务。
“bfill”向后填充缺失值,以便将它们替换为下一个值。看看最后一栏。 缺失值被替换到第一行。 这可能不适合某些情况。
值得庆幸的是,我们可以限制用这种方法替换的缺失值的数量。 如果我们将 limit 参数设置为 1,那么一个缺失值只能用它的下一个值替换。 后面的第二个或第三个值将不会用于替换。
我们还可以将另一个数据帧传递给 fillna 函数。 新数据框中的值将用于替换当前数据框中的缺失值。
将根据行索引和列名称选择值。 例如,如果 item 列的第二行中存在缺失值,则将使用新数据框中相同位置的值。
以上是具有相同列的两个数据框。 第一个 没有任何缺失值。
我们可以使用 fillna 函数如下:
df 中的值将替换为 df2 中关于列名和行索引的值。
缺失将永远存在于我们的生活中。 没有最好的方法来处理它们,但我们可以通过应用准确合理的方法来降低它们的影响。我们已经介绍了 8 种不同的处理缺失值的方法,使用哪一个取决于数据和任务。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了在Python中存储字符串,文章通过unicode展开主题相关内容,具有一定的参考价值,需要的小伙伴可以参考一下
这篇文章主要介绍了Python爬虫进阶之Beautiful Soup库详解,文中有非常详细的代码示例,对正在学习python爬虫的小伙伴们有非常好的帮助,需要的朋友可以参考下
这篇文章主要介绍了Python 入门学习之函数式编程, Python 中的函数式编程技术进行了简单的入门介绍,下文详细内容需要的小伙伴可以参考一下
这篇文章主要介绍了Python数据分析之 Matplotlib 散点图绘制,散点图又称散点图,是使用多个坐标点的分布反映数据点分布规律、数据关联关系的图表,下文对散点图的详细介绍及绘制,需要的小伙伴可以参考以一下
有时候我们的证件照需要换底色,又来不及去照相馆拍照,用ps也不好抠图,所以今天给你们分享一下如何用python来抠图,并换底色
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008