本關(guān)任務(wù):完成泰坦尼克號遇難數(shù)據(jù)的清洗。
?
案例背景
泰坦尼克號遭遇的災(zāi)難震驚世界,如何避免災(zāi)難甚至預(yù)測災(zāi)難呢? 要實(shí)現(xiàn)首先要做好泰坦尼克號的損失數(shù)據(jù)統(tǒng)計(jì),才能為數(shù)據(jù)分析打下基礎(chǔ)。文章來源:http://www.zghlxwxcb.cn/news/detail-509371.html
編程要求
根據(jù)提示,你需要完成:文章來源地址http://www.zghlxwxcb.cn/news/detail-509371.html
- 缺失值填充
- 離群點(diǎn)檢測
import numpy as np
import pandas as pd
#讀取數(shù)據(jù)
df=pd.read_csv('/data/workspace/myshixun/step1/train.csv')
##### begin #####
#查看列中是否存在空值
temp=df.isnull().any()
print(temp)
#使用SimpleImputer取出缺失值所在列的數(shù)值,sklearn當(dāng)中特征矩陣必須是二維才能傳入 使用reshape(-1,1)升維
age=df['Age'].values.reshape(-1,1)
#導(dǎo)入模塊
from sklearn.impute import SimpleImputer
#實(shí)例化,均值填充,可改變strategy參數(shù),實(shí)現(xiàn)其他填充方式
imp_mean=SimpleImputer(missing_values=np.nan,strategy='mean')
#fit_transform一步完成調(diào)取結(jié)果
imp_mean=imp_mean.fit_transform(age)
#填充好的數(shù)據(jù)傳回到 data['Age']列
df_fillna=df
df_fillna['Age']=imp_mean
#檢驗(yàn)是否還有空值,為0即說明空值均已被填充
print(df_fillna['Age'].isnull().sum())
##### end #####
imp_mean=SimpleImputer(missing_values=np.nan,strategy='mean')
imp_mean=imp_mean.fit_transform(age)
df_fillna=df
df_fillna['Age']=imp_mean
#正太分布離群點(diǎn)檢測
##### begin #####
#計(jì)算均值
u=df['Age'].mean()
#計(jì)算標(biāo)準(zhǔn)差
std=df['Age'].std()
#識別異常值
error = df[np.abs(df['Age'] - u) > 3 * std ]
##### end #####
print(error)
到了這里,關(guān)于頭歌:數(shù)據(jù)預(yù)處理之?dāng)?shù)據(jù)清洗的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!