Python处理缺失值的8种不同方法实例_第1页
Python处理缺失值的8种不同方法实例_第2页
Python处理缺失值的8种不同方法实例_第3页
Python处理缺失值的8种不同方法实例_第4页
Python处理缺失值的8种不同方法实例_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第Python处理缺失值的8种不同方法实例目录前言1.删除有缺失值的行或列2.删除只有缺失值的行或列3.根据阈值删除行或列4.基于特定的列子集删除5.填充一个常数值6.填充聚合值7.替换为上一个或下一个值8.使用另一个数据框填充总结

前言

缺失值可能是数据科学中最不受欢迎的值,然而,它们总是在身边。忽略缺失值也是不合理的,因此我们需要找到有效且适当地处理它们的方法。

在本文中,我们将介绍8种不同的方法来解决缺失值问题,哪种方法最适合特定情况取决于数据和任务。

让我们首先创建一个示例数据框并向其中添加一些缺失值。

我们有一个10行6列的数据框。

下一步是添加缺失值。我们将使用loc方法选择行和列组合,并使它们等于np.nan,这是标准缺失值表示之一。

这是数据框现在的样子:

item和measure1列具有整数值,但由于缺少值,它们已被向上转换为浮点数。

在Pandas1.0中,引入了整数类型缺失值表示(),因此我们也可以在整数列中包含缺失值。但是,我们需要显式声明数据类型。

尽管有缺失值,我们现在可以保留整数列。

现在我们有一个包含一些缺失值的数据框。是时候看看处理它们的不同方法了。

1.删除有缺失值的行或列

一种选择是删除包含缺失值的行或列。

使用默认参数值,dropna函数会删除包含任何缺失值的行。数据框中只有一行没有任何缺失值。同时我们还可以选择使用轴参数删除至少有一个缺失值的列。

2.删除只有缺失值的行或列

另一种情况是有一列或一行充满缺失值。这样的列或行是无用的,所以我们可以删除它们。

dropna函数也可以用于此目的。我们只需要改变how参数的值。

3.根据阈值删除行或列

基于any或all的删除并不总是最好的选择。我们有时需要删除具有大量或一些缺失值的行或列。

我们不能将这样的表达式分配给how参数,但Pandas为我们提供了一种更准确的方法,即thresh参数。

例如,thresh=4意味着至少有4个非缺失值的行将被保留。其他的将被丢弃。

我们的数据框有6列,因此将删除具有3个或更多缺失值的行。

只有第三行有2个以上的缺失值,所以它是唯一一个被丢弃的。

4.基于特定的列子集删除

在删除列时,我们可以只考虑部分列。

dropna函数的子集参数用于此任务。例如,我们可以删除在度量1或度量2列中有缺失值的行,如下所示:

到目前为止,我们已经看到了根据缺失值删除行或列的不同方法。放弃并不是唯一的选择。在某些情况下,我们可能会选择填充缺失值而不是删除它们。

事实上,填充可能是更好的选择,因为数据意味着价值。如何填补缺失值,当然取决于数据的结构和任务。

fillna函数用于填充缺失值。

5.填充一个常数值

我们可以选择一个常量值来替代缺失值。如果我们只给fillna函数一个常量值,它将用该值替换数据框中的所有缺失值。

更合理的方法是为不同的列确定单独的常量值。我们可以将它们写入字典并将其传递给values参数。

item列中的缺失值替换为1014,而measure1列中的缺失值替换为0。

6.填充聚合值

另一种选择是使用聚合值,例如平均值、中位数或众数。

下面这行代码用该列的平均值替换了第2列中的缺失值。

7.替换为上一个或下一个值

可以用该列中的前一个或下一个值替换该列中的缺失值。在处理时间序列数据时,此方法可能会派上用场。假设您有一个包含每日温度测量值的数据框,但缺少一天的温带。最佳解决方案是使用第二天或前一天的温度。

fillna函数的方法参数用于执行此任务。

bfill向后填充缺失值,以便将它们替换为下一个值。看看最后一栏。缺失值被替换到第一行。这可能不适合某些情况。

值得庆幸的是,我们可以限制用这种方法替换的缺失值的数量。如果我们将limit参数设置为1,那么一个缺失值只能用它的下一个值替换。后面的第二个或第三个值将不会用于替换。

8.使用另一个数据框填充

我们还可以将另一个数据帧传递给fillna函数。新数据框中的值将用于替换当前数据框中的缺失值。

将根据行索引和列名称选择值。例如,如果item列的第二行中存在缺失值,则将使用新数据框中相同位置的值。

以上是具有相同列的两个数据框。第一个没有任何缺失值。

我们可以使用fillna函数如下:

df中的值将替换为df2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论