本网站(662p.com)打包出售,且带程序代码数据,662p.com域名,程序内核采用TP框架开发,需要联系扣扣:2360248666 /wx:lianweikj
精品域名一口价出售:1y1m.com(350元) ,6b7b.com(400元) , 5k5j.com(380元) , yayj.com(1800元), jiongzhun.com(1000元) , niuzen.com(2800元) , zennei.com(5000元)
需要联系扣扣:2360248666 /wx:lianweikj
Python缺失值处理方法
奔跑的男人 · 192浏览 · 发布于2022-05-19 +关注

这篇文章主要介绍了Python缺失值处理方法,文章围绕主题展开详细内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下

前言:

前面python重复值处理得方法我们讲了重复值是怎么处理的,今天就来说说缺失值。缺失值主要分为机械原因和人为原因。机械原因就是存储器坏了,机器故障等等原因导致某段时间未能收集到数据。人为原因的情况种类就更多了,如刻意隐瞒等等。

先构建一个含有缺失值的DataFrame,如下:

import pandas as pd
import numpy as np
data = pd.DataFrame([[1,np.nan,3],[np.nan,5,np.nan]],columns = ['a','b','c'])
print(data)


看出来了吗?np.nan就是NAN值,空值的意思。 


在numpy中有一个函数可以用来查看空值,不对,是两个,isnull()和isna()这两函数。

我们分别来试试它们的效果:

import pandas as pd
import numpy as np
data = pd.DataFrame([[1,np.nan,3],[np.nan,5,np.nan]],columns = ['a','b','c'])
data.isnull()
data.isna()


可以看出,这两函数的作用就是判断数据是不是空值,如果是,就返回true,不是就是false。 


通常,对空值的处理有两种方法,一种就是把空值删除,另外一种就是把它填上,我们先说第一种,删除空值,我们可以dropna()这一函数来把空值删除。要注意,它会把含有空值的整行都删掉。例如:

上面的例子用了drop函数后,啥都没啦! 


我们可以设置当每行空值多余2个时再删除(低于2个保留),这时候要用到dropna()的参数thresh。

补充空值的话有挺多的方法,有用均值补充,中位数补充等,我们要用到fillna()这一函数。例如,我们用均值来填充上文中的data,

代码如下:

import pandas as pd
import numpy as np
data = pd.DataFrame([[1,np.nan,3],[np.nan,5,np.nan]],columns = ['a','b','c'])
data.fillna(data.mean())


代码运行的结果如下,可以看到空值都被对应列的均值所填充。 



相关推荐

PHP实现部分字符隐藏

沙雕mars · 1325浏览 · 2019-04-28 09:47:56
Java中ArrayList和LinkedList区别

kenrry1992 · 908浏览 · 2019-05-08 21:14:54
Tomcat 下载及安装配置

manongba · 970浏览 · 2019-05-13 21:03:56
JAVA变量介绍

manongba · 962浏览 · 2019-05-13 21:05:52
什么是SpringBoot

iamitnan · 1086浏览 · 2019-05-14 22:20:36
加载中

0评论

评论
分类专栏
小鸟云服务器
扫码进入手机网页