百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

为什么Pandas是最流行的Python数据分析库?

liuian 2025-02-15 16:32 11 浏览

本文将从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

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(英文版)

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

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

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

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

利用Pandas进行数据分析

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

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

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

w3schools pandas tutorial

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


Learn Pandas Tutorials

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

joyful-pandas

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

2. 进阶教程

pandas用户指南

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

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

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

pandas api检索

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

pandas-cookbook

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

Python Data Science Handbook

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

3. 练习资源

Pandas练习集

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

101个Pandas练习

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

datacamp

小结

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

相关推荐

x-cmd install | jellex - 用 Python 语法在终端里玩转 JSON 数据!

还在为命令行下处理JSON数据烦恼吗?jellex来了!它是一款基于终端的交互式JSON和JSONLines数据处理工具,让你用熟悉的Python语法,轻松过滤、转换和探索JSO...

一篇长文带你在Python里玩转Json数据

Json简介Json(JavaScriptObjectNotation)很多网站都会用到Json格式来进行数据的传输和交换,就像上篇我提到的网易云音乐接口,它们返回的数据都是Json格式的。这因为...

Python JSON 魔法手册:数据转换的终极艺术

对话实录小白:(崩溃)我从API拿到了JSON数据,怎么变成Python对象?专家:(掏出魔法书)用json模块,轻松实现数据转换!JSON基础三连击1.字符串Python对...

Python JSON 详解教程(python json())

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式(lightweightdatainterchangeformat)常用于Web应用、配置文件(co...

Python 数据的 JSON 格式序列化及反序列化

在Python中,将数据转换为JSON格式非常简单,可以使用内置的json模块。json模块提供了json.dumps()和json.dump()方法,用于将Python对象...

如何使Python类可JSON序列化(python json 类)

技术背景在Python开发中,JSON(JavaScriptObjectNotation)是一种常用的数据交换格式。然而,Python的json模块默认只能序列化一些基本数据类型,如字典、列表、字...

详细介绍一下Python如何对JSON格式数据进行处理?

在Python中对于JSON数据的处理是在日常开发中的常见需求之一。通常情况下,对JSON数据的处理主要涉及到如下的的几个步骤对于JSON数据的解析操作对于JSON数据的处理操作对于JSON数据的格式...

Python 字典l转换成 JSON(python转化字典)

本文需要5分钟。如果对您有用可以点赞评论关注.Python字典到JSONJSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,它基于ECMAScrip...

打造熟悉的VS界面风格(vs界面设计美化)

用惯了老机子的VS界面,换新机子时,各种不适应。现在重新打造老款样式:1)下载VisualStudio2013ColorThemeEditorhttps://marketplace.vis...

办公小技巧:全部亮相 让Excel单元格完全显示文本

平时我们在使用Excel制作表格的时候,经常会遇到由于文本内容较多,导致这些内容无法在一个单元格中完全显示。常规的方法是将单元格设置为“自动换行”,但是这样会影响整个文件的美观。下例是某小区的入住登记...

WinForms 中的 CheckBox 控件使用指南

在WinForms中,CheckBox控件是一个允许用户选择或取消选择的单选按钮。它通常用于表示布尔值(真/假)或允许多选的情况。以下是如何使用CheckBox控件的一些基本信息和示例代码。创建...

图片转文字--四种OCR工具的安装和使用

本文仅测试简单的安装和使用,下一步应该是测试不同数据集下的检测准确率和检测效率,敬请期待。作者的系统环境是:笔记本:ThindPadP520OS:win11显卡:QuadroP520一、EasyO...

C# 给Word每一页设置不同图片水印

Word中设置水印时,可加载图片设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不同的水印效果,则可以参考本文中的方法。下面,将以C#代码为例,对W...

集成的面向对象控件Xtreme Controls正式发布v17.0.0

CodejockXtremeControls为Windows图形用户软件工程师提供众多的有关MFC的控件产品,该产品是通过完全测试并专门为图形用户设计的一款专业控件。它是一款集成了面向对象的控件被...

Win10 Build 10061老问题修复新问题来

|责编:刘菲菲【中关村在线软件资讯】4月23日消息:微软今天正式推送了Windows10Build10061预览版这个版本除了正常的功能更新和调整外,还修复了多个bug。其中一部分对于开发者开...