泰坦尼克号数据_泰坦尼克号数据分析报告

1、探索问题
本文主要探寻泰坦尼克号乘客的生还率和各因素(船舱等级、年龄、性别、票价、上船港口等)的关系。
#!usr/bin/env python #-*- coding:utf-8 -*- import numpy as np import pandas as pd from pandas import Series,DataFrame import matplotlib.pyplot as plt import matplotlib as mpl import math %matplotlib inline2、调查数据#利用Pandas自带的read_csv()函数加载数据 titanic_data = pd.read_csv('titanic_data.csv') titanic_data.head() #查看各列数据情况 http://titanic_data.info()
<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
可以看出,数据共有891行,12列,其中3列有缺失数据,Age列缺失177行,Cabin列缺失687行,缺失严重,Embarked列缺失2行。Name、Ticket、Cabin对探索问题无帮助。
#删除无用数据 titanic_data=titanic_data.drop(['Name','Ticket','Cabin'],axis=1) http://titanic_data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 9 columns):
PassengerId 891 non-null int64
Survived 891 non-null int64
Pclass 891 non-null int64
Sex 891 non-null object
Age 714 non-null float64
SibSp 891 non-null int64
Parch 891 non-null int64
Fare 891 non-null float64
Embarked 889 non-null object
dtypes: float64(2), int64(5), object(2)
memory usage: 62.7+ KB
# 检查是否有重复数据 if ~titanic_data.duplicated().any(): print('titanic_data表格无重复数据') else: print('titanic_data有重复数据')
titanic_data表格无重复数据处理缺失数据
处理Age列缺失数据,用“均值”进行填充, 并将年龄数据修正为整型
titanic_data['Age'].fillna(titanic_data.Age.mean(),inplace=True) def may_int(i): return int(i) titanic_data['Age']=titanic_data['Age'].apply(may_int)
处理Embarked列的数据,用Embarked列的众数填充两个缺失空格
print(titanic_data['Embarked'].value_counts())
S 646
C 168
Q 77
Name: Embarked, dtype: int64
#Emvarked列用众数填充缺失项 titanic_data['Embarked'].fillna('S',inplace=True) http://titanic_data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 9 columns):
PassengerId 891 non-null int64
Survived 891 non-null int64
Pclass 891 non-null int64
Sex 891 non-null object
Age 891 non-null int64
SibSp 891 non-null int64
Parch 891 non-null int64
Fare 891 non-null float64
Embarked 891 non-null object
dtypes: float64(1), int64(6), object(2)
memory usage: 62.7+ KB3、展示数据泰坦尼克号乘客生还情况
In [54]:
Survived_count=titanic_data['Survived'].value_counts() print(Survived_count) #创建一个作条形图、饼状图的函数 def Bar_pie(Survived_count): #生还遇难人数条形图 #创建一个figure fig_S=plt.figure(figsize=(10,5)) #创建一个subplot ax_s=fig_S.add_subplot(121) #用plot()函数作条形图 Survived_count.plot(kind='bar') #标签 label=Survived_co

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值