如何提升职场竞争力:像使用Excel一样使用Pandas

最新全套【Python入门到进阶资料 & 实战源码 &安装工具】(安全链接,放心点击)

Pandas功能非常强大,API非常多。这次我们按照Excel的功能来探索Pandas的常用功能。

同时为了更好的理解应用场景,我们从真实的数据出发,来探索数据中的真相。

本次选用的数据是kaggle提供的泰坦尼克号数据,大家一起深入了解一下这场上世纪之初的悲剧。

直接使用腾讯文档表格导入数据如下:

数据下载和在线链接都在文末的参考链接中

整个数据集大小是: 891行*12列数据。我们还需要了解一下各项数据的含义, 以更好的理解数据。

释义
Survived 是否存活,存活使用1表示
Pclass 船票等级, 船票等级数分1,2,3等座,越小级越高级
Name 乘客姓名
Sex 乘客性别
Age 乘客年龄
SibSp 乘客兄弟姐妹/配偶的个数
Parch 乘客父母/孩子的个数
Ticket 票编号
Fare 乘客所持票的价格
Cabin 乘客所在船舱
Embark 乘客登船港口

使用pandas可以这样导入数据:

# 导入numpy和pandas库
import pandas as pd
import numpy as np

# 载入 titanic_train.csv 数据,并且指定 `PassengerId` 为索引列
df = pd.read_csv('titanic_train.csv', index_col="PassengerId")
df

在pandas中数据大概这样:

需要说明两点:

  • PassengerId作为索引没有计算到columns(列)中,所以是891行*11列, 比excel少一列
  • 空值自动转换成NaN,而不是excel中的空

接下来我们从execl的下面5个功能开始熟悉pandas

  1. 数据统计
  2. 隐藏列
  3. 排序
  4. 筛选
  5. 分组

数据统计

在excel中可以使用数据统计功能对数据进行简单分析:

从上图可以知道下面一些汇总信息:

  • 总数计数,比如姓名891个
  • 求和,比如总费用 28693.9493
  • 未填写计数, 比如687个数据未记录船仓Cabin
  • 分类,比如等级分三类,登船港口分三个
  • 平均值,比如年龄均值29.69岁

在pandas中可以使用 info 查看信息:

df.info()

"""
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 12 columns):
 #   Column       Non-Null Count  Dtype  
---  ------       --------------  -----  
 0   PassengerId  891 non-null    int64  
 1   Survived     891 non-null    int64  
 2   Pclass       891 non-null    int64  
 3   Name         891 non-null    object 
 4   Sex          891 non-null    object 
 5   Age          714 non-null    float64
 6   SibSp        891 non-null    int64  
 7   Parch        891 non-null    int64  
 8   Ticket       891 non-null    object 
 9   Fare         891 non-null    float64
 10  Cabin        204 non-null    object 
 11  Embarked     889 non-null    object 
dtypes: float64(2), int64(5), object(5)
memory usage: 83.7+ KB
"""

显示数据:

  • 年龄Age和船仓Cabin有缺失数据
  • Name,Sex,Ticket,Cabin和Embarked是文本数据,其它为数字

也可以使用 describe 查看概况:

df.describe()

相比excel的数据统计,我们还可以得到一些更有用的结论/猜测:

  • 年龄均值29.69, 最小4个月,最大80岁
  • 存活均值0.38,不到四成的存活率( 一个悲伤的故事:( )
  • 最便宜的船票大概是7.9(min=0估计是工作人员,排除在外), 最贵的门票512.32 (看来jack和rose贫富差距很大)
  • 船票均价32约等于四分位数Q3的值31,7成人低于平均,金字塔结构下层穷人比较多(50的标准差也说明这个问题)

隐藏列

excel中可以隐藏一些列,让数据分析时候更聚焦。因为Ticket和Embarked和存活没有关系,我们隐藏这两列:

在pandas中直接drop这两列就好了:

df = df.drop(columns=['Ticket', 'Embarked'])
df 

  • 11列变成9列

排序

使用 船票降序,存活升序 多条件组合排序,可以猜测船票贵的可能存活率较高,其中最尊贵的的两位都存活了;女性存活率可能较高,比如227同等价位的,3位女性全部存活了。

更改一下船票使用升序,可以验证上面的猜测,满屏就805号幸运儿存活。

同时也可以发现一个有意思的特例数据,873号乘客是5元船票的1等座,价格和等级也不完全挂钩, 这个很重要。

在pandas中可以这样实现排序:

df.sort_values(by=['Fare','Survived'], ascending=[False, True]).head(20)

筛选

使用存活和船票等级筛选,并使用年龄降序,查找出可能最年幼的富豪:

考虑到泰坦尼克号事故是1912年的,这位11个月大的幸存者可能也已经离世。查找新闻找到最后幸存者伊莉莎白·格拉迪斯·迪安(Elizabeth Gladys Dean)的报道(有兴趣的朋友可以看参考链接), 对应测试数据集中的1426号乘客,当时仅九周(不在本训练数据集中)。

在pandas中可以这样实现这个筛选及排序:

df[(df.Survived==1)&(df.Pclass==1)].sort_values(by=['Age'])

和excel筛选一样,也可以选择任意条件,比如找出有空数据的行:

df[df['Age'].isnull()|df['Cabin'].isnull()].sort_values(by=['Fare'], ascending=False)

分组

excel中可以使用分组功能,对数据进行一些展示和统计:

pandas中的分组功能和excel的逻辑有点差异,不能够同时进行汇总或者求均值,可以先统计:

df.groupby(by=["Survived"]).sum()

  • 存活下来的人总票价要高出一截,也可以猜测富人存活率高一点

再求均值:

df.groupby(by=["Survived"]).mean()

  • 存活下来的人平均票价要高出一截,也可以猜测富人存活率高一点

我们还可以按照性别分类进行统计:

df.groupby(by=["Sex"]).mean()

  • 女性的均值大于0.5,可以说明女性的存活率会更高(分布偏向1)

小结

我们通过分析泰坦尼克的数据,像使用Excel一样使用了Pandas,学习了数据统计、筛选、排序等常用功能。

参考链接

以上就是今天的全部内容分享,觉得有用的话欢迎点赞收藏哦!

如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!

😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述

Python兼职渠道推荐

学的同时助你创收,每天花1-2小时兼职,轻松搞定生活费.
在这里插入图片描述

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

上述所有资料 ⚡️ ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓

相关推荐

  1. 【Swift】如何让实例对象函数一样使用

    2024-04-24 16:22:02       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-24 16:22:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-24 16:22:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-24 16:22:02       82 阅读
  4. Python语言-面向对象

    2024-04-24 16:22:02       91 阅读

热门阅读

  1. HTML超链接(详解如何进行网页之间的跳转)

    2024-04-24 16:22:02       34 阅读
  2. vue各种时间类型转换

    2024-04-24 16:22:02       26 阅读
  3. 达梦(DM)数据库管理表

    2024-04-24 16:22:02       35 阅读
  4. K8s: 控制器之ReplicaSet对象

    2024-04-24 16:22:02       34 阅读
  5. VMware虚拟机经常卡死风扇狂转的解决办法

    2024-04-24 16:22:02       37 阅读
  6. ffmpeg常使用的命令

    2024-04-24 16:22:02       36 阅读