hands on data analysis(数据清洗)

缺失值处理:
查看缺失值的函数有:
DataFrame.isnull()、pd.isnull(DataFrame)、np.any(DataFrame.isnull())==True、Series.isnull()

import numpy as np
import pandas as pd
#先导入所需的库
df = pd.read_csv('train,csv')
#加载数据
df.isnull()
#查看缺失值

运行结果


image.png

查看缺失值的个数:
DataFrame.info()、DataFrame.isnull().sum()

df.isnull().sum()
image.png

处理缺失值:
用dropna()删除缺失数据(传入参数inplace=True则会原地修改数据):
DataFrame.dropna() 可选参数:axis、how、thresh、subset、inplace

用fillna()填充缺失数据(传入参数inplace=True则会原地修改数据):
DataFrame.fillna(value=0) 用指定值给缺失数据填入值,value可以是标量、字典(索引:元素)、Series、DataFrame 可选参数:value、method、axis、limit、inplace、downcast

赋值法填充缺失数据(这种方法会对DataFrame本身进行修改):
DataFrame[DataFrame['column名'].isnull()] = 0
‘.isnull()’可更换为‘==None’或‘==np.nan’;末尾的填充值0,也可以是均值等
【注意】此法除会对DataFrame本身进行修改外,还会将指定列中为NA的数据所在行的值都填充为0,不推荐;若非要使用可修改为:
DataFrame.loc[DataFrame['column名'].isnull(),'column名'] = 0

【补充】缺失值的几种情况(用‘==’比较)
python中用None表示缺失值,该元素除了等于自身外,与其他任何元素不相等
numpy中用np.nan表示缺失值,该元素除了不和其他任何元素相等外,和自身的比较结果也返回False

df[df['Age'] == np.nan] = 0
print(df.head(6))
image.png

可以看出第六行的值全变成0了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容