目录

  • 1.导入库
  • 2.数据读取
  • 3.基本信息查看
  • 4.获取列
  • 5.缺失值处理
  • 6.数据映射
  • 7.删除数据
  • 8.增加数据
  • 9.筛选查找
  • 10.排序
  • 11.数据透视
    • 1).船舱等级与生存率
    • 2).性别与生存率
  • 12.简单绘图
    • 3).年龄与生存率

本文旨在结合经典案例:泰坦尼克号数据集,介绍pandas的基础操作,力求简洁清晰,可以作为一个教程,也可以作为一个速查表,欢迎多多收藏点赞~

泰坦尼克号数据集是一个非常经典的数据集,它记录了泰坦尼克号的乘客信息,包括年龄、性别、是否存活等等。
我们可以用pandas来对其进行分析,一步一步揭开数据里的秘密,探索泰坦尼克号生还者们背后的真相

1.导入库

首先,我们要把我们的工具:pandas,从工具箱里拿出来

import pandas as pd

2.数据读取

pandas是一个处理数据的全能型工具箱,你能想到的任何数据处理的操作,它都能做
然后用pandas取出我们要加工的对象:数据集。

data = pd.read_csv("Titanic.csv")

3.基本信息查看

查看数据有哪些字段:

# 查看数据有哪些字段
data.columns# 描述性统计分析
data.describe()# 展示前3行数据
data.head(3)

4.获取列

# 获取单列
data.Name
# 获取多列
data[["Name","Age"]]

5.缺失值处理

有时候数据并不不完整,存在一些缺失,这时候可以对缺失值进行一些填充

# 查看各列缺失值个数
data.isnull().sum()# 指定值填充缺失值
data.Embarked.fillna("S")# 均值填充
data.Age.fillna(data.Age.mean())

6.数据映射

在Excel中,VLOOKUP是很常用的方法,当然pandas也能做到
例如:将数据中’male’映射为1,'female’映射为0

mapping = {"male":1, "female":0}
data.Sex.map(mapping)

7.删除数据

当我不想要一些数据时,可以把它删除掉
例如PassengerId,仅仅是一个ID,没有实际意义,那么可以把它删除掉

data.drop("PassengerId",axis=1)

8.增加数据

可以根据一列或多列,计算出新的列,这在pandas里十分常见
在数据集中,SibSp表示乘客兄弟姐妹的数量,Parch表示父母孩子的数量
可以新建一列family,表示在船上他又多少个亲人

data["family"] = data["SibSp"] + data["Parch"]

9.筛选查找

筛选查找是十分常用且重要的操作.pandas提供了比数据库更简洁优雅的查找操作.
例如:筛选出生还的乘客:

data.query("Survived == 1")

再例如:筛选大于八十岁的生还乘客:

data.query("Survived == 1 and Age >= 80")

10.排序

例如,按照年龄降序排列

data.sort_values(by = ["Age"],ascending = False)

11.数据透视

结合数据透视,我们一起分析一下泰坦尼克号生存情况如何

1).船舱等级与生存率

以船舱等级为行,生存情况为列 ; 对生存情况求平均,可以得到生存率

Pclass
1    0.629630
2    0.472826
3    0.242363
Name: Survived, dtype: float64

可以看到船舱等级越高,生还概率越大. 实际上,船舱等级越高,安全就越有保障,例如离逃生舱更近,有更高几率逃生.

2).性别与生存率

以船舱等级为行,生存情况为列 ; 对生存情况求平均

Sex
female    0.742038
male      0.188908
Name: Survived, dtype: float64

女性生存率远远高于男性,这也体现出19世纪英国人的绅士风度,在大难临头时让女人孩子老人先上逃生船

12.简单绘图

结合图片,我们最后看看年龄与生还率之间的关系

3).年龄与生存率

df1 = data.query("Survived == 1").Age
df2 = data.query("Survived == 0").Ageimport matplotlib.pyplot as plt
plt.hist([df1,df2],stacked=True,label=['Rescued','not saved'])plt.legend()
plt.title('title')
plt.title('Age_Survived')

【pandas】结合泰坦尼克生还分析讲讲pandas常用基础操作相关推荐

  1. python mean dropna_小丸子踏入python之路:python_day05(用Pandas处理泰坦尼克船员获救数据titanic_train.csv)...

    泰坦尼克船员获救数据: titanic_train.csv 用excel打开数据集.显示如下: 写在前边: 为了方便以后运用numpy和pandas的库,分别造它们的别名np和pd. import p ...

  2. 头哥教学平台-泰坦尼克生还预测-可视化与探索性数据分析

    第1关 存活率与性别和船舱等级之间的关系 import pandas as pd import numpy as np import seaborn as sns import warnings wa ...

  3. 10种流行的机器学习算法进行泰坦尼克幸存者分析

    还记得上世纪轰动全球的泰坦尼克吗? 1912年4月,正在处女航的泰坦尼克号在撞上冰山后沉没,2224名乘客和机组人员中有1502人遇难,这场悲剧轰动全球,遇难的一大原因正式没有足够的就剩设备给到船上的 ...

  4. Educoder中题目:泰坦尼克生还预测——可视化与探索性数据分析

    第1关:存活率与性别和船舱等级之间的关系 import pandas as pdimport numpy as npimport seaborn as snsimport warningswarnin ...

  5. Kaggle竞赛——Titanic泰坦尼克之灾(保姆级基础版)

    Kaggle竞赛网址:https://www.kaggle.com/c/titanic 本次Kaggle泰坦尼克之灾分析过程大致分为: 第1步:了解数据 第2步:分析数据之间的关系 第3步:缺失项数据 ...

  6. Titanic 泰坦尼克数据集 特征工程 机器学习建模

    以下内容为讲课时使用到的泰坦尼克数据集分析.建模过程,整体比较完整,分享出来,希望能帮助大家.部分内容由于版本问题,可能无法顺利运行. Table of Contents 1  经典又有趣的Titan ...

  7. 集成算法-随机森林与案例实战-泰坦尼克获救预测

    集成算法-随机森林 Ensemble learning 目的:让机器学习效果更好,单个不行,群殴走起 Bagging:训练多个分类器取平均 f ( x ) = 1 / M ∑ m = 1 M f m ...

  8. Kaggle竞赛——Titanic泰坦尼克之灾(0.76315==>0.79186)

    Kaggle竞赛网址:https://www.kaggle.com/c/titanic 上一章:Kaggle竞赛--Titanic泰坦尼克之灾(保姆级基础版) 本次Kaggle泰坦尼克之灾分析过程大致 ...

  9. 泰坦尼克数据集预测分析_探索性数据分析—以泰坦尼克号数据集为例(第1部分)

    泰坦尼克数据集预测分析 Imagine your group of friends have decided to spend the vacations by travelling to an am ...

  10. 数据分析实际案例之:pandas在泰坦尼特号乘客数据中的使用

    文章目录 简介 泰坦尼特号乘客数据 使用pandas对数据进行分析 引入依赖包 读取和分析数据 图形化表示和矩阵转换 简介 1912年4月15日,号称永不沉没的泰坦尼克号因为和冰山相撞沉没了.因为没有 ...

最新文章

  1. Flex与.NET互操作(十):基于FluorineFx.Net的及时通信应用(Real-time Messaging Applications)(一)...
  2. C# Math类简介
  3. android 是否允许打印debug级别日志的开关_Android学习——日志使用
  4. BERT论文阅读(二): CG-BERT:Conditional Text Generation with BERT for Generalized Few-shot Intent Detection
  5. 激动的时刻,终于成啦~
  6. flann中关于数据的stride
  7. php常用技术与thinkphp5,thinkPHP5框架路由常用知识点汇总
  8. 【数据结构_浙江大学MOOC】第六七八讲 图
  9. Enterprise Library: Data Access Application Block使用向导,Part 1
  10. Mysql时间戳转日期-日期转时间戳
  11. 微信小程序,实现一个简易的新闻网
  12. Go代码调优利器-火焰图
  13. ajax前后端通信的头部消息之请求头与响应头
  14. 中国前十软件公司招聘官网聚合
  15. 【shell案例】CentOS7安装MySQL脚本案例
  16. [论文笔记|VIO]ICE-BA: Incremental, Consistent and Efficient Bundle Adjustment for Visual-Inertial SLAM
  17. HI3516AD+OV4689内核编译
  18. 蓝牙技术|一文带你了解电动车蓝牙钥匙
  19. 电商宝打单发货-打单设置
  20. Java抽奖-总概率中奖几率

热门文章

  1. 基于stm32f103c8t6的Flash地址空间的数据读取
  2. 关于Nand Flash行地址和列地址的计算
  3. kelvin模型蠕变方程_开尔文模型.ppt
  4. 从囚徒困境到世风日下
  5. Mac 系统下 xcode 卸载 清理
  6. java校园圈子论坛跳蚤市场小程序源码
  7. 2017年真题精选(六)
  8. 【毕业设计项目】基于单片机的指纹识别系统实现 - 物联网 stm32 c51
  9. 重庆市总工会送法到中建三局城建档案馆项目
  10. java程序cpu占用率高,分析具体线程