本文将从Python生态、Pandas历史背景、Pandas核心语法、Pandas学习资源四个方面去聊一聊Pandas,期望能带给大家一点启发。

一、Python生态里的Pandas

五月份TIOBE编程语言排行榜,Python追上Java又回到第二的位置。Python如此受欢迎一方面得益于它崇尚简洁的编程哲学,另一方面是因为强大的第三方库生态。

要说杀手级的库,很难排出个先后顺序,因为python的明星库非常多,在各个领域都算得上出类拔萃。

比如web框架-Django、深度学习框架-TensorFlow、自然语言处理框架-NLTK、图像处理库-PIL、爬虫库-requests、图形界面框架-PyQt、可视化库-Matplotlib、科学计算库-Numpy、数据分析库-Pandas......

上面大部分库我都用过,用的最多也最顺手的是Pandas,可以说这是一个生态上最完整、功能上最强大、体验上最便捷的数据分析库,称为编程界的Excel也不为过。

Pandas在Python数据科学链条中起着关键作用,处理数据十分方便,且连接Python与其它核心库。

二、十项全能的Pandas

Pandas诞生于2008年,它的开发者是Wes McKinney,一个量化金融分析工程师。

因为疲于应付繁杂的财务数据,Wes McKinney便自学Python,并开发了Pandas。

大神就是这么任性,没有,就创造。

为什么叫作Pandas,其实这是“Python data analysis”的简写,同时也衍生自计量经济学术语“panel data”(面板数据)。

所以说Pandas的诞生是为了分析金融财务数据,当然现在它已经应用在各个领域了。

2008: Pandas正式开发并发布

2009:Pandas成为开源项目

2012: 《利用Python进行数据分析》出版

2015: Pandas 成为 NumFOCUS 赞助的项目

Pandas能做什么呢?

它可以帮助你任意探索数据,对数据进行读取、导入、导出、连接、合并、分组、插入、拆分、透视、索引、切分、转换等,以及可视化展示、复杂统计、数据库交互、web爬取等。

同时Pandas还可以使用复杂的自定义函数处理数据,并与numpy、matplotlib、sklearn、pyspark、sklearn等众多科学计算库交互。

Pandas有一个伟大的目标,即成为任何语言中可用的最强大、最灵活的开源数据分析工具。

让我们期待下。

三、Pandas核心语法

1.  数据类型

Pandas的基本数据类型是dataframe和series两种,也就是行和列的形式,dataframe是多行多列,series是单列多行。

如果在jupyter notebook里面使用pandas,那么数据展示的形式像excel表一样,有行字段和列字段,还有值。

2. 读取数据

pandas支持读取和输出多种数据类型,包括但不限于csv、txt、xlsx、json、html、sql、parquet、sas、spss、stata、hdf5

读取一般通过read_*函数实现,输出通过to_*函数实现。

image

image

3. 选择数据子集

导入数据后,一般要对数据进行清洗,我们会选择部分数据使用,也就是子集。

在pandas中选择数据子集非常简单,通过筛选行和列字段的值实现。

具体实现如下:

4. 数据可视化

不要以为pandas只是个数据处理工具,它还可以帮助你做可视化图表,而且能高度集成matplotlib。

你可以用pandas的plot方法绘制散点图、柱状图、折线图等各种主流图表。

5. 创建新列

有时需要通过函数转化旧列创建一个新的字段列,pandas也能轻而易举的实现

image

6. 分组计算

在sql中会用到group by这个方法,用来对某个或多个列进行分组,计算其他列的统计值。

pandas也有这样的功能,而且和sql的用法类似。

image

7. 数据合并

数据处理中经常会遇到将多个表合并成一个表的情况,很多人会打开多个excel表,然后手动复制粘贴,这样就很低效。

pandas提供了merge、join、concat等方法用来合并或连接多张表。

小结

pandas还有数以千计的强大函数,能实现各种骚操作。

python也还有数不胜数的宝藏库,等着大家去探索

三、Pandas学习资源

如果说学习Pandas最好的教程是什么,那毫无疑问是官方文档,从小白到高手,它都给你安排的妥妥的,这个后面详细介绍。

下面我会从入门、进阶、练习四个三面给你们推荐相应的教程和资源。

1. 入门教程

十分钟入门Pandas(英文版)[1]

这是Pandas官网专门为新手写的入门引导,大概就几千字,包括对Pandas的简要介绍,和一些基本的功能函数。

主要的内容有:数据的创建、查看、筛选、拼接、连接、分组、变形、可视化等等。

而且这个小册子包含了很多代码示例,如果你能完整过一遍,入门Pandas基本没啥问题。

中文版似乎也有,但翻译的准确性大家自己识别斟酌下。

十分钟入门 Pandas | Pandas 中文[2]

利用Pandas进行数据分析[3]

这本书不用了说了,可能是你入门python数据分析的第一本书,它的作者是Pandas库的核心开发者,也就是说这本书相当于是Pandas的官方出版教程。

image

为什么它适合入门pandas,因为整本书的编排是从数据分析的角度切入的,由浅入深将pandas对数据的处理讲的很透彻。

当然这本书也存在知识点过于零碎,翻译不到位的问题,但整体来说是本好书。

w3schools pandas tutorial[4]

w3school的pandas文档, 逻辑比较清晰,也是从数据分析角度去讲pandas。

image

Learn Pandas Tutorials[5]

数据科学平台kaggle提供的pandas入门教程,共六大节涵盖了pandas数据处理各种方法。

image

joyful-pandas[6]

国内小伙伴写的Pandas笔记,挺详细的,大家可以去下载项目里的notebook,放到自己电脑里练习。

2. 进阶教程

pandas用户指南[7]

这是pandas官网的教程,非常详细,主要从数据处理的角度介绍相应的pandas函数,方便用户查阅。

如果你的英文还不错,也喜欢阅读技术文档,我是建议花时间把这份指南看一遍,配合练习。

我把整个pandas文档下载下来,发现足足有3000多页。

pandas api检索[8]

官网的pandas api集合,也就是pandas所有函数方法的使用规则,是字典式的教程,建议多查查。

pandas-cookbook[9]

这是一个开源文档,作者不光介绍了Pandas的基本语法,还给出了大量的数据案例,让你在分析数据的过程中熟悉pandas各种操作。

Python Data Science Handbook[10]

数据科学书册,不光有pandas,还有ipython、numpy、matplotlib、sklearn,这些都是深入学习pandas不可缺少的工具。

3. 练习资源

Pandas练习集[11]

github上一个练习项目,针对pandas每个功能都有对应的真实数据练习。

101个Pandas练习[12]

一位国外博主总结的100多个pandas练习题,非常全面。

datacamp[13]

数据科学教程网站,里面有大量pandas的练习题,还提供了详细的速查表。

小结

pandas的教程主要还是以英文为主,国内翻译的质量参差不齐,还是建议你在入门后多去看英文文档,这是第一手资料,也是最靠谱的。

Reference

[1]

十分钟入门Pandas(英文版):https://pandas.pydata.org/docs/user_guide/10min.html

[2]

十分钟入门 Pandas | Pandas 中文:http://www.pypandas.cn/docs/getting_started/10min.html

[3]

利用Pandas进行数据分析:https://github.com/wesm/pydata-book

[4]

w3schools pandas tutorial:https://www.w3schools.com/python/pandas/default.asp

[5]

Learn Pandas Tutorials:https://www.kaggle.com/learn/pandas

[6]

joyful-pandas:https://github.com/datawhalechina/joyful-pandas

[7]

pandas用户指南:https://pandas.pydata.org/docs/user_guide/index.html#user-guide

[8]

pandas api检索:https://pandas.pydata.org/docs/reference/index.html#api

[9]

pandas-cookbook:https://github.com/jvns/pandas-cookbook

[10]

Python Data Science Handbook:https://jakevdp.github.io/PythonDataScienceHandbook/

[11]

Pandas练习集:https://github.com/guipsamora/pandas_exercises

[12]

101个Pandas练习:https://www.machinelearningplus.com/python/101-pandas-exercises-python/

[13]

datacamp:https://www.datacamp.com/community/tutorials

往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑温州大学《机器学习课程》视频
本站qq群851320808,加入微信群请扫码:

【Python】聊聊Pandas的前世今生相关推荐

  1. 聊聊Pandas的前世今生

    来源:Python大数据分析 本文将从Python生态.Pandas历史背景.Pandas核心语法.Pandas学习资源四个方面去聊一聊Pandas,期望能带给大家一点启发. 一.Python生态里的 ...

  2. #第17篇分享:python数据处理-pandas,numpy,matplotlib

    #python数据处理-pandas,numpy,matplotlib: 对于数据来说,有数据爬取-爬虫,数据处理-就是今天学习的,以及数据分析-sklearn,tensoflow机器学习及深度学习: ...

  3. python使用pandas计算dataframe中每个分组的分位数极差、分组数据的分位数极差(range)、使用groupby函数和agg函数计算分组的两个分位数

    python使用pandas计算dataframe中每个分组的分位数极差.分组数据的分位数极差(range).使用groupby函数和agg函数计算分组的两个分位数 目录

  4. python使用pandas计算dataframe中每个分组的极差、分组数据的极差(range)、使用groupby函数和agg函数计算分组的最大值和最小值

    python使用pandas计算dataframe中每个分组的极差.分组数据的极差(range).使用groupby函数和agg函数计算分组的最大值和最小值 目录

  5. Python中将pandas的dataframe拷贝到剪切板并保持格式实战:to_clipboard()函数、复制到Excel文件、复制到文本文件(默认是tsv格式)、复制到文本文件(设置逗号分隔符)

    Python中将pandas的dataframe拷贝到剪切板并保持格式实战:to_clipboard()函数.复制到Excel文件.复制到文本文件(默认是tsv格式).复制到文本文件(设置逗号分隔符) ...

  6. Python将Pandas中Dataframe数据保存为gzip/zip文件:gzip压缩文件、zip压缩文件

    Python将Pandas中Dataframe数据保存为gzip/zip文件:gzip压缩文件.zip压缩文件 目录 Python将Pandas中Dataframe数据保存为gzip/zip文件:gz ...

  7. Python使用pandas设置数据列中float数据类型的有效小数位数、抑制科学计数法

    Python使用pandas设置数据列中float数据类型的有效小数位数.抑制科学计数法 目录

  8. Python中pandas检查dataframe中是否包含某个字段、或者数据列实战、检查dataframe中是否包含某个字段集合

    Python中pandas检查dataframe中是否包含某个字段.或者数据列(column)实战 目录 Python中pandas检查dataframe中是否包含某个字段.或者数据列(column) ...

  9. python使用pandas通过聚合获取时序数据的最后一个指标数据(例如长度指标、时间指标)生成标签并与原表连接(join)进行不同标签特征的可视化分析

    python使用pandas通过聚合获取时序数据的最后一个指标数据(例如长度指标.时间指标)生成标签并与原表连接(join)进行不同标签特征的可视化分析 目录

最新文章

  1. 在3ds Max中使用V-Ray 5渲染引擎视频教程
  2. MySql数据库查询表信息/列信息(列ID/列名/数据类型/长度/精度/是否可以为null/默认值/是否自增/是否是主键/列描述)...
  3. mysql解压版(免装版)安装过程缺失data文件处理方式
  4. java 22 - 8 多线程之线程生命周期图解
  5. 反积分饱和 程序_用抗积分饱和PID控制传递函数为G(s)的被控对象
  6. 页眉中字数未满但自动换行
  7. chrome关闭自动更新 mac
  8. Atitit.获取某个服务 网络邻居列表 解决方案
  9. Product Key Algorithm
  10. 二阶系统的时间响应及动态性能(时域分析)
  11. 经验分享:RuntimeException: Unable to instantiate service com.***.push.getui.GetuiPushIntentService
  12. 回归分析——简单线性回归实例讲解(SPSS)
  13. Vue 大量数据展示卡顿解决方案(长列表优化)
  14. Android 多渠道包
  15. niit考试题库计算机英语翻译,NIIT SM2-MT1模拟试题 HELP KEY
  16. ADT for Eclipse
  17. 关于网络制式(例如:TD-SCDMA /GSM)
  18. 回忆詹姆斯·高斯林的Java时代
  19. SQL注入的一般过程
  20. java class加载_Java 类加载

热门文章

  1. 算法录 之 复杂度分析。
  2. 移植YAFFS2文件系统到linux3.18.4内核(原)
  3. 破译。字符串匹配。HOJ1548 Crypt Kicker II。
  4. Google小组研发模式分析
  5. 如何处理HTML5新标签的浏览器兼容问题?
  6. 有许多部分没有在cgroup中显示啊,current/high/low/min等等
  7. linux源码阅读笔记 fork函数
  8. SQL Server调优系列基础篇(联合运算符总结)
  9. 关于mysql优化_MYSQL---关于MYSQL优化
  10. JavaSE(二十三)——JVM