-- coding: utf-8 --
“”"
Created on Wed Feb 20 14:19:10 2019
@author: hypc
“”"
import pandas as pd
import numpy as np
data=pd.DataFrame({‘id’:[1,1,1,3,4,5],‘name’:[‘Bob’,‘Bob’,‘Mark’,‘Miki’,‘Sully’,‘Rose’],‘score’:[99,99,87,77,77,np.nan],‘group’:[1,1,1,2,1,2],})
#isnull()方法为查找缺省值
#在进行数据分析前,一般需要了解数据的缺失情况,在Python中可以构造一个lambda函数来查看缺失值
#该lambda函数中,sum(col.isnull())表示当前列有多少缺失,col.size表示当前列总共多少行数据
print(data)
print(data.apply(lambda col:sum(col.isnull())/col.size))
print(‘对sample表的列score填补缺失值,填补方法为均值’)
#pandas数据框提供了fillna方法完成对缺失值的填补,例如对sample表的列score填补缺失值,填补方法为均值:
print(data.score.fillna(data.score.mean()))
#当然还可以以分位数等方法进行填补(中位数)
print(‘对sample表的列score填补缺失值,以分位数等方法进行填补(中位数)’)
print(data.score.fillna(data.score.median()))
print(‘产生缺失值指示变量’)