处理缺失值——24行代码

查看缺失值

DataFrame对象查看列中的缺失数量,方法是使用info()函数

具体操作如下
import pandas as pd
import numpy as np
df=pd.DataFrame([[1,np.nan,3],[np.nan,5,np.nan],[2,4,9]])
df

上述代码创建了一个DataFrame对象,如下图所示
图片说明
使用info()函数进行缺失值得查看,代码如下

df.info()

返回的信息如下图所示
图片说明

在Series对象中查看缺失值使用isnull()函数

值得注意的一点是,Series对象中没有info()这个属性
先创建一个Series对象,例如
data = pd.Series([2,4,None,5,np.nan,6,8])
data

创建的对象为
图片说明


使用data.isnull()函数对所有的元素进行判定,是不是空值,是空值就返回True,还有notnull()函数,返回的信息则相反,例如

data.isnull()

图片说明

还可以使用data[data.isnull()]将空值的位置返回,data[data.notnull()]将非空值返回还有位置也返回,例如,懒得敲代码,直接上图查看。
图片说明

删除缺失值

使用dropna()函数可以将DataFrame对象中的含有缺失值的行或者列进行删除,

还有个方法就是某一行全部为空值的时候才进行删除,




数据填充

Series对象中将数据进行填充,使用fillna()函数

代码如下,三种填充方式,第一个是以0元素进行填充,第二个是用前一个元素进行填充,第三个是用后一个元素进行填充
data = pd.Series([2,4,None,5,np.nan,6,8])
data.fillna(0),data.fillna(method='ffill'),data.fillna(method='bfill')
Dataframe对象进行填充,使用的方法和Series对象的填充方式一样,按照前一个后一个填充的时候,指的是按照这一列中的上一行或者下一行的元素进行填充,还有一种
方式就是按照这一行的下一列或者前一列进行填充,方法是
也可以将每一列的平均值填入,代码如下
for i in df.columns:
    np.nanmean(df[i])    #对这一列除去空值,取平均数
df.fillna(np.nanmean(df[i]))

运行结果为



全部评论

相关推荐

点赞 评论 收藏
转发
点赞 1 评论
分享
正在热议
# 牛客帮帮团来啦!有问必答 #
1151604次浏览 17149人参与
# 通信和硬件还有转码的必要吗 #
11203次浏览 101人参与
# OPPO开奖 #
19201次浏览 267人参与
# 和牛牛一起刷题打卡 #
18978次浏览 1635人参与
# 实习与准备秋招该如何平衡 #
203386次浏览 3627人参与
# 大厂无回复,继续等待还是奔赴小厂 #
4972次浏览 30人参与
# 不去互联网可以去金融科技 #
20385次浏览 255人参与
# 通信硬件薪资爆料 #
265913次浏览 2484人参与
# 国企是理工四大天坑的最好选择吗 #
2223次浏览 34人参与
# 互联网公司评价 #
97687次浏览 1280人参与
# 简历无回复,你会继续海投还是优化再投? #
25037次浏览 354人参与
# 0offer是寒冬太冷还是我太菜 #
454868次浏览 5124人参与
# 国企和大厂硬件兄弟怎么选? #
53903次浏览 1012人参与
# 参加过提前批的机械人,你们还参加秋招么 #
14644次浏览 349人参与
# 硬件人的简历怎么写 #
82286次浏览 852人参与
# 面试被问第一学历差时该怎么回答 #
19398次浏览 213人参与
# 你见过最离谱的招聘要求是什么? #
28097次浏览 248人参与
# 学历对求职的影响 #
161239次浏览 1804人参与
# 你收到了团子的OC了吗 #
538722次浏览 6386人参与
# 你已经投递多少份简历了 #
344226次浏览 4963人参与
# 实习生应该准时下班吗 #
96977次浏览 722人参与
# 听劝,我这个简历该怎么改? #
63524次浏览 622人参与
牛客网
牛客企业服务