Python---pandas---处理丢失数据

dates = pd.date_range('20180403',periods=6)
df = pd.DataFrame(np.arange(24).reshape((6,4)),index = dates,columns = ['A','B','C','D'])
df.iloc[0,1]=np.nan
df.iloc[1,2]=np.nan
print(df,"#########")
print(df.dropna(axis=0,how='any'),'#############')#how是选择丢掉的方式,是有一个nan就丢掉还是全是nan时丢掉,参数选择‘any/all’
print(df.dropna(axis=0,how='all'),'#############')
print(df.fillna(value=0),'#############')#nan的部分填入0
print(df.isnull(),'#############')#是否有缺失,返回布尔型
print(np.any(df.isnull())==True,'#############')#至少有一个丢失就返回true

结果显示:

             A     B     C   D
2018-04-03   0   NaN   2.0   3
2018-04-04   4   5.0   NaN   7
2018-04-05   8   9.0  10.0  11
2018-04-06  12  13.0  14.0  15
2018-04-07  16  17.0  18.0  19
2018-04-08  20  21.0  22.0  23 #########
             A     B     C   D
2018-04-05   8   9.0  10.0  11
2018-04-06  12  13.0  14.0  15
2018-04-07  16  17.0  18.0  19
2018-04-08  20  21.0  22.0  23 #############
             A     B     C   D
2018-04-03   0   NaN   2.0   3
2018-04-04   4   5.0   NaN   7
2018-04-05   8   9.0  10.0  11
2018-04-06  12  13.0  14.0  15
2018-04-07  16  17.0  18.0  19
2018-04-08  20  21.0  22.0  23 #############
             A     B     C   D
2018-04-03   0   0.0   2.0   3
2018-04-04   4   5.0   0.0   7
2018-04-05   8   9.0  10.0  11
2018-04-06  12  13.0  14.0  15
2018-04-07  16  17.0  18.0  19
2018-04-08  20  21.0  22.0  23 #############
                A      B      C      D
2018-04-03  False   True  False  False
2018-04-04  False  False   True  False
2018-04-05  False  False  False  False
2018-04-06  False  False  False  False
2018-04-07  False  False  False  False
2018-04-08  False  False  False  False #############
True #############

你可能感兴趣的:(Python)