python 分析泰坦尼克号生还率

泰坦尼克号数据集,是kaggle(Titanic: Machine Learning from Disaster)上入门机器学习(ML)的一个好的可选数据集,当然,也是不错的练习数据分析的数据集。对 python ,在数据分析方面,作为一柄利器,涵盖了「数据获取→数据处理→数据分析→数据可视化」这个流程中每个环节, 这风骚的操作,也是没谁了。

这个项目做下来,除了没有涉及到数据抓取(python爬虫)外,基本上把python 数据处理分析的各个版块都做了一个完整的贯穿。对此进行归纳总结,算是倒逼自己对所接触到的知识,进行结构化的梳理和输出。

探索的问题

主要探寻坦尼克号上的生还率和各因素(客舱等级、年龄、性别、上船港口等)的关系。

获取数据

我把原始数据 titanic-data.csv 放在和 notebook 文件同一目录下,然后通过read_csv 来载入文件,当然在开始载入数据前,我必须按照需求将需要用到的 Python 包导入进来。

# 用于数据分析
import pandas as pd
import numpy as np

# 用于绘图
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline

# 读取前五行数据
data_t = pd.read_csv('titanic-data.csv')
data_t.head()
复制代码
PassengerId Survived Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked
0 1 0 3 Braund, Mr. Owen Harris male 22.0 1 0 A/5 21171 7.2500 NaN S
1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 0 PC 17599 71.2833 C85 C
2 3 1 3 Heikkinen, Miss. Laina female 26.0 0 0 STON/O2. 3101282 7.9250 NaN S
3 4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 0 113803 53.1000 C123 S
4 5 0 3 Allen, Mr. William Henry male 35.0 0 0 373450 8.0500 NaN S
# 数据集信息,包含数据集大小,列名,类型
data_t.info()
data_t.columns.values
复制代码
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 12 columns):
PassengerId    891 non-null int64
Survived       891 non-null int64
Pclass         891 non-null int64
Name           891 non-null object
Sex            891 non-null object
Age            714 non-null float64
SibSp          891 non-null int64
Parch          891 non-null int64
Ticket         891 non-null object
Fare           891 non-null float64
Cabin          204 non-null object
Embarked       889 non-null object
dtypes: float64(2), int64(5), object(5)
memory usage: 83.6+ KB





array(['PassengerId', 'Survived', 'Pclass', 'Name', 'Sex', 'Age', 'SibSp',
       'Parch', 'Ticket', 'Fare', 'Cabin', 'Embarked'], dtype=object)
复制代码

数据观察

  • 载入 titanic-data.csv 到一个 DataFrame ,然后用 head() 函数打印出前5行数据(p.s 用 tail() 函数可以打印出后5行)。

  • 通过对数据的初步观测,这个数据样本一共有 891 行 * 12 列数据,字段包含: 'PassengerId(乘客id)', 'Survived(是否活下来)', 'Pclass(船舱等级)', 'Name(姓名)', 'Sex(性别)', 'Age(年龄)', 'SibSp(兄弟姐妹同行数量)','Parch(父母配偶同行数量)', 'Ticket(票)', 'Fare(费)', 'Cabin(船舱)', 'Embarked(上船站)'

  • 其中, 定类变量 包括 Survived,Sex,Embarked, 定序变量 包括 Pclass, 数字变量 包括 PassengerId,Age,SibSp,Parch,Fare

  • 通过观测发现,Age、Cabin、Embarked 包含了有空值

# 字段分析
def y(x):
    return data_t[x].unique()
print('='*20 + 'Survived字段内容' + '='*20)
print(y('Survived'))
print('='*20 + 'Sex字段内容' + '='*20)
print(y('Sex'))
print('='*20 + 'Pclass字段内容' + &#
  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值