总第53篇

代码区域

import pandas as pd

import numpy as np

import matplotlib

import matplotlib.pyplot as plt

%matplotlib inline#为能够jupyter在线使用matplotlib

df=pd.read_csv('C:\\Users\\dell\\Desktop\\titanic_data.csv')

df.head(5)#先显示出前5行,观察有哪些数据

数据概况:

PassengerId:乘客序号;

Survived:最终是否存活(1表示存活,0表示未存活);

Pclass:舱位,1是头等舱,3是最低等;

Name:乘客姓名;

Sex:性别;

Age:年龄;

SibSp:一同上船的兄弟姐妹或配偶;

Parch:一同上船的父母或子女;

Ticket:船票信息;

Fare:乘客票价,决定了Pclass的等级;

Cabin:客舱编号,不同的编号对应不同的位置;

Embarked:上船地点,主要是S(南安普顿)、C(瑟堡)、Q(皇后镇)。

欲想探讨的问题: 

存活率与哪些因素有关? 猜想影响因素有:Pclass、Sex、Age、SibSp、Parch、Ticket、Cabin、Embarked。

01|泰坦尼克号整体情况:

通过下面代码可以看出泰坦尼克号整体的幸存率约为39%。

代码区域

survived_rate=float(df['Survived'].sum())/df['Survived'].count()#加float是为了让小数结果显示出来

survived_rate

out:0.38383838

02|幸存率与Pclass的关系:

可以看出两者有强烈的相关关系,Pclass等级越高(1最高),幸存率越高。

代码区域

Pclass_survived_rate=(df.groupby(['Pclass']).sum()/df.groupby(['Pclass']).count())['Survived']

Pclass_survived_rate.plot(kind='bar')#kind='bar'表示垂直柱状图、kind=‘barh’表示水平柱状图

03|幸存率与Sex的关系:

female的幸存率是male的3倍还要多。

代码区域

Sex_survived_rate=(df.groupby(['Sex']).sum()/df.groupby(['Sex']).count())['Survived']

Sex_survived_rate.plot(kind='bar')

04|幸存率与Age的关系:

通过折线图看出幸存率与Age没有明确的关系。0-10岁的幸存率要明显高于其他年龄段。

代码区域

Sex_survived_rate=(df.groupby(['Age']).sum()/df.groupby(['Age']).count())['Survived']

Sex_survived_rate.plot()

代码区域

age_train_p=df[~np.isnan(df['Age'])]  #去除年龄数据中的NaN

ages=np.arange(0,80,10)  #0~80岁,每10岁一段(年龄最大80岁)

age_cut=pd.cut(age_train_p.Age,ages)

age_cut_grouped=age_train_p.groupby(age_cut)

age_Survival_Rate=(age_cut_grouped.sum()/age_cut_grouped.count())['Survived']  #计算每年龄段的幸存率

age_Survival_Rate.plot(kind='bar')

05|幸存率与SibSp&Parch的关系:

通过柱状图可以看出,当同行1-2个亲人朋友时的幸存率更高。(这里将SibSp与Parch统一处理)

代码区域

SibSp_Parch_survived_rate=((df.groupby(['SibSp']).sum()+df.groupby(['Parch']).sum())\

/(df.groupby(['SibSp']).count()+df.groupby(['Parch']).count()))['Survived']

SibSp_Parch_survived_rate.plot(kind='bar')

06|幸存率与Cabin的关系:

根据折线图看出没有明确的相关关系,再加上缺失数据过多687/891,所以幸存率对Cabin可以暂且不计入考虑。

代码区域

max_survived_rate=(df.groupby(['Cabin']).sum()/df.groupby(['Cabin']).count())['Survived']

max_survived_rate.plot()

print df['Cabin'].count()#除缺失值以外的数据个数

df['Cabin'].fillna(0).count()#所有数据个数

07|幸存率与Embarked的关系:

通过柱形图可以看出C、Q、S三地的幸存率依次下降。

代码区域

max_survived_rate=(df.groupby(['Embarked']).sum()/df.groupby(['Embarked']).count())['Survived']

max_survived_rate.plot(kind='bar')

综上所述:

1、泰坦尼克号整体的幸存率约为39%。

2、存活率与Pclass的关系:Pclass等级越高(1最高),存活率越高。多挣钱,坐头等舱可以提高幸存率。

3、存活率与Sex的关系:female的存活率是male的3倍还要多。女性的天生优势。

4、存活率与Age的关系:没有明确的关系,0-10岁的存活率明显高于其他年龄段。

5、存活率与SibSp&Parch的关系:当同行1-2个亲人朋友时的存活率更高。出去玩耍结1-2个伴可以提高幸存率。

6、存活率与Cabin的关系:没有明确的相关关系,再加上缺失数据过多687/891,所以存活率对Cabin可以暂且不计入考虑。

7、存活率与Embarked的关系:C、Q、S三地的存活率依次下降,不过应该和登陆地本身是没啥关系的,登陆地可能最终体现在性别、舱位等级等方面。

泰坦尼克号幸存率研究相关推荐

  1. 'python program'.count('p')的值是_如何用Python分析泰坦尼克号生还率?

    原标题:如何用Python分析泰坦尼克号生还率? 1912年当时世界上最大的豪华客轮泰坦尼克号在处女航中撞上冰山沉没,船上船员及乘客共有2224人,只有710人生还.当灾难突然降临时,所有人的生死瞬间 ...

  2. 泰坦尼克数据集预测分析_探索性数据分析-泰坦尼克号数据集案例研究(第二部分)

    泰坦尼克数据集预测分析 Data is simply useless until you don't know what it's trying to tell you. 除非您不知道数据在试图告诉您 ...

  3. [sklearn数据科学浅尝]kaggle泰坦尼克号幸存预测问题(入全球前10%)

    问题描述 比赛地址 kaggle泰坦尼克号比赛说明 泰坦尼克号的沉没是历史上最著名的沉船之一.1912年4月15日,在她的首航中,泰坦尼克号在与冰山相撞后沉没,在2224名乘客和机组人员中造成1502 ...

  4. 机器学习-决策树之回归树python实战(预测泰坦尼克号幸存情况)(三)

    本文用通俗易懂的方式来讲解分类树中的回归树,并以"一维回归的图像绘制"和"泰坦尼克号幸存者预测"两个例子来说明该算法原理. 以下是本文大纲: 1 Decisio ...

  5. Kaggle入门之泰坦尼克号生还率预测

    这是Kaggle上的一道入门题目,旨在让我们了解机器学习的大致过程. 题目链接: Titanic: Machine Learning from Disaster 题目大意:当年泰坦尼克号的沉没造成了很 ...

  6. 介绍一位零基础转行数据分析的好友

    今天给大家介绍一位我的好友:张俊红,他的公众号也叫张俊红. 俊红大学学的专业是毕业以后是去煤矿做一名矿工,他靠着自学成功从一名『矿工』转行成为了一名数据分析师,不仅转行成功了.还写了一本畅销书『对比E ...

  7. 泰坦尼克号数据的分析研究

    作为大家都非常熟悉的沉船事故–泰坦尼克号事件,该事件数据集同样也广受大家所关注,许多人拿数据集来分析研究,找出影响乘客幸存率的因素有哪些. 本文的目的是希望自己通过分析研究,去找出那些影响幸存率的因素 ...

  8. 泰坦尼克号 数据分析_第1部分:泰坦尼克号-数据分析基础

    泰坦尼克号 数据分析 My goal was to get a better understanding of how to work with tabular data so I challenge ...

  9. 泰坦尼克号python数据分析统计服_Titanic数据分析报告(Python)

    研究目的:使用机器学习来创建一个模型,该模型可以预测哪些乘客在泰坦尼克号沉船事故中幸存下来. 研究结论: 分析过程: 本次分析使用Jupter Notebook进行分析 该notebook 服务的版本 ...

最新文章

  1. symfony学习笔记——路由
  2. 缩放手势 ScaleGestureDetector 源码解析,这一篇就够了
  3. JavaScript学习总结(四)——逻辑OR运算符详解
  4. Win2003磁盘分区调整
  5. 系统地学习JavaScript
  6. paip.提升用户体验---上传文件图片命名
  7. SpringBoot+Shiro,java开发面试问题大全及答案大全
  8. 【nmake】Nmake基本语法和Windows下的makefile.vc编写demo
  9. pkg将项目打包成 exe应用, 双击启动 node
  10. 485通讯( 详解 )
  11. 依托智慧警务 打造城市公共安全防控新模式
  12. 文化馆建筑方案设计原理及方案
  13. Ant入门教程之常用命令
  14. 遥遥领先影像组件:dicomobjects.ocx
  15. java.lang.classcastexception怎么解决_抛出奇怪的java.lang.ClassCastException
  16. Hifi指北:我是不是需要一台耳放呀?
  17. 视网膜竞争(双目竞争)现象
  18. tomcat 7 最新版本 apache-tomcat-7.0.109
  19. 请听题!如何实现只用1个VN5640A搭建含2个交换机的车载以太网网络?|VN5640A新功能
  20. 02-01 boss直聘招聘信息爬取(xpath解析)

热门文章

  1. mysql超长sql查询_超长SQL怎么查询?MySQL列长度限制有哪些 | 学步园
  2. cmd弄电脑滚绿代码_windows10点击“此电脑”——“管理”会出现管理员已阻止你运行此应用。有关详细信息。。。...
  3. 二维非稳态导热微分方程_室内湿度影响验证:非真空型稳态法导热仪的正确使用方式...
  4. RouterOS SOCKS代理服务器(官方文档翻译)
  5. SylixOS下基于NUC970的NAND驱动
  6. 根据一级分类查询所有子级分类
  7. Echarts后台option对象
  8. Flash ios 开发cookbook 下载(PDF)
  9. 流量控制与拥塞控制区别
  10. 安装工程图形算量离我们还多远