本文主要是介绍数据分析-day03-pandas-dataFrame的确失值的处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
判断数据是否为NaN:pd.isnull(df),pd.notnull(df) 处理方式1:删除NaN所在的行列dropna (axis=0, how='any', inplace=False) 处理方式2:填充数据,t.fillna(t.mean()),t.fiallna(t.median()),t.fillna(0)
# -*- coding: utf-8 -*-# @File : pandas_dataframe_fixempty_demo.py
# @Date : 2020-01-03 13:39
# @Author : admin
import string
import pandas as pd;
import numpy as np;
d=pd.DataFrame(np.arange(0,25).reshape(5,5),index=list(string.ascii_uppercase[2:7]),columns=list(string.ascii_uppercase[-5:]))print(d)
#将第一行的2列设置为nan
d.iloc[1,1]=np.nan;
d.iloc[3,3]=np.nan;
#处理0的数据
d.iloc[4,4]=0;print(d);print("====================================将0置为nan============")
d[d==0]=np.nan;
print(d)
#判断是否为null
print("====================================pandas中判断是否为nan============")
print(pd.isnull(d))
print(pd.notnull(d))
#判断某一列不为nan的,d的w列不为nan的数据,使用到了boolean索引
print(d[pd.notnull(d["W"])])print("====================================缺失值处理方式============")
#any 满足一个即可,all 满足所有
#print("缺失值处理方式一:删除NaN所在的行列:\r\n",d.dropna(axis=0, how='any', inplace=False))
#print("缺失值处理方式一:删除NaN所在的行列:\r\n",d.dropna(axis=0, how='any', inplace=False))
#计算平均值等情况,nan是不参与计算的,但是0会
print("平均值:",d.mean())
#t.fillna(0) 填充数据
#print("缺失值处理方式二:填充数据:\r\n",d.fillna(d.mean()));
#按指定行和列,填充缺失值
d["Y"]=d["Y"].fillna(d["Y"].mean())
print("缺失值处理方式二:填充数据:\r\n",d);print(d["Z"].mean())
这篇关于数据分析-day03-pandas-dataFrame的确失值的处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!