码迷,mamicode.com
首页 > 其他好文 > 详细

泰坦尼克号预测生存可能性

时间:2020-08-17 17:53:50      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:pandas   mba   value   axis   情况   cab   缺失值   特征   处理   

import pandas as pd
data = pd.read_csv("train.csv")
#确定每一列,或者叫每一个series下,是否有空数据
columns_name = data.columns.tolist()
columns_name_true_false={}
print(type(columns_name))
print(columns_name[0])
for i in columns_name:
    lenth = len(data[data[i].isnull()==True])
    columns_name_true_false[i]=lenth
print(columns_name_true_false)
#确定每一列,或者叫每一个series下,是否有空数据
#输出发现,‘Age‘、‘Cabin‘和‘Embarked‘有空数据,下一步要填补这些空数据。

输出:

{PassengerId: 0, Survived: 0, Pclass: 0, Name: 0, Sex: 0, Age: 177, SibSp: 0, Parch: 0, Ticket: 0, Fare: 0, Cabin: 687, Embarked: 2}

下面要处理这些空数据。

#处理‘Embarked‘,计算‘Embarked‘中C、S、Q出现的次数,用出现次数多的填补空位置。
Embarked_list=[S,C,Q]
Embarked_list_times = {}
for i in Embarked_list:
    times = len(data[data[Embarked]==i])
    Embarked_list_times[i]=times
print(Embarked_list_times)
#处理‘Embarked‘,计算‘Embarked‘中C、S、Q出现的次数,用出现次数多的填补空位置。

输出:

{S: 644, C: 168, Q: 77}

发现‘S’的次数最高,那就用S填补这些空位置。

data.fillna(axis=0,value=S,inplace=True)

‘Cabin‘缺失值太多,舍掉这个特征。

data.drop(Cabin,axis =1,inplace=True)

下边处理Age空缺的问题,一般可以用中值和均值填补空缺位置。这里两种情况都试一下,看下结果有什么差异。

data1 = data[Age].dropna(axis=0)
zhongshu = data1.median()
data[Age].fillna(value=zhongshu,inplace=True) #用中值弥补空缺位置
#data[‘Age‘].fillna(value=data1.mean(),inplace=True)   #用均值弥补空缺位置

 

泰坦尼克号预测生存可能性

标签:pandas   mba   value   axis   情况   cab   缺失值   特征   处理   

原文地址:https://www.cnblogs.com/lgwdx/p/13508819.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!