先导入numpy和pandas,为避免列省略先在前设置展开全部列 #数据过大时行列会省略
#数据过大时行列会省略 pd.set_option('display.max_column',None)#显示消失的列
读取文件
df=pd.read_csv('train.csv')
对缺失值进行处理
法1 df[df['Age']==None]=0 print(df.head(3)) 法2 df[df['Age'].isnull()]=0 print(df.head(3)) 法3 df[df['Age']==np.nan]=0 print(df.head(3))
因为数值列读取数据后,空缺值的数据类型为float64,所以用None一般索引不到,比较的时候最好用np.nan
DataFrame中dropna用于删除缺失值
DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
#dropha用于删除缺失值,默认删除行 print(df.dropna().head(3)) #fillna用于替换缺失值 print(df.fillna(0).head(3))#用0替代
查看数据中的重复值
#查看数据中的重复值 print(df[df.duplicated()])
将连续变量Age平均分箱成5个年龄段,并分别用类别变量12345表示
#将连续变量Age平均分箱成5个年龄段,并分别用类别变量12345表示 df['AgeBand']=pd.cut(df['Age'],5,labels=[1,2,3,4,5]) print(df.head())
将连续变量Age划分为(0,5] (5,15] (15,30] (30,50] (50,80]五个年龄段,并分别用类别变量12345表示
#将连续变量Age划分为(0,5] (5,15] (15,30] (30,50] (50,80]五个年龄段,并分别用类别变量12345表示 df['AgeBand'] = pd.cut(df['Age'],[0,5,15,30,50,80],labels = [1,2,3,4,5]) print(df.head(3))