Datawhale

作者:耿远昊、Datawhale团队

寄语:Pandas 是基于Numpy的一种工具,是为了解决数据分析任务而创建的,其纳入了大量库和一些标准的数据模型,提供了大量能使我们快速便捷地处理数据的函数和方法。

Datawhale又一开源项目来了!Joyful-Pandas(顾名思义:快乐学习Pandas)由Datawhale成员耿远昊发起,作者结合了三份经典教材的学习经验,历时2个多月时间,结合最新的Pandas版本,编写了这套关于Pandas的开源教程,梳理了Pandas的主线内容。

本项目从Pandas基础、数据分析方法、数据处理类型及动手实践四个模块,对Pandas进行系统性学习。同时,针对内容设计了大量的练习及案例,理论结合实践,巩固数据处理分析能力。

开源初衷

在使用Pandas之前,几乎所有的大型表格处理问题都是用xlrd/xlwt和python循环实现,虽然这已经几乎能完成一切的需求,但其缺点也显而易见,其一就是速度问题,其二就是代码的复用性几乎为0。

曾经也尝试过去零星地学Pandas,但不得不说这个包实在太过庞大,每次使用总觉得盲人摸象,每个函数的参数也很多,学习的路线并不是十分平缓。如果你刚刚手上使用Pandas,那么在碎片的学习过程中,报错是常常发生的事,并且很难修(因为不理解内部的操作),即使修好了下次又不会,令人有些沮丧。

2019年秋季,笔者偶然接触到了Theodore Petrou所著的《Pandas Cookbook》。快速地学习了一遍后,发现之前很多搞不清的概念得到了较好的解答。

之后,笔者又逐步地对着官方的User Guide一字一句查看,通读后建立了大的一些宏观概念。这是一个非常重要的台阶,官方的教程总是会告诉你重点在哪里。

经过了一段时间的思考,结合《Python for Data Analysis》(作者:Pandas之父)、《Pandas Cookbook》和官方的User Guide,按照自己的思路编写了一套关于Pandas的教程,完整梳理Pandas的主线内容。

本着杜绝浅尝辄止的理念,本教程涉及了每个部分的核心概念和函数。最后,希望达到“所写所得即所想”的境界,这大概需要更多的实践,也是笔者努力实现的目标方向。

关于项目的名字,笔者在原先使用Pandas时非常的痛苦(Painful),那现在是时候转变为“Joyful-Pandas”了!

开源内容

Joyful-Pandas共有11个章节,分成了4个模块,涵盖了Pandas基础内容,数据处理过程中常用的数据类型,及在处理过程中涉及到的操作。具体目录详情如下:

模块1 Pandas基础(第1章)

拿到数据后必然先要读取,分析完了数据必然是要保存;读取数据之后,我们面对了怎样的对象(Series? or Dataframe?)是第一重要的课题,因此了解序列和数据框的常规操作及其组件(component)便是必须涉及的内容。

模块2 数据分析方法(第2-5章)

对于一个Series或DataFrame而言,Pandas存在以下四种操作:

  • 索引:如果一个操作使得它的元素信息减少了,那就对应了索引;

  • 分组:数据被分组,从组内提取了关键的信息,使得数据信息被充分地使用;

  • 变形:数据呈现结构或形态上的变化,使得我们更容易地能够地进一步处理数据;

  • 合并:如果一个操作使得原本不属于这个数据框的信息被加入了进来,那往往是涉及到了合并操作。

笔者从数据信息增减的角度出发,将四类操作拆解成了3个板块,分别对应了本项目第2-5章的内容,串联了官方文档关于数据框操作的全部内容,帮助学习者系统梳理。

模块3 数据处理类型(第6-9章)

对序列和数据框这两种容器,Pandas基础对其的结构有了初步理解,而四种操作熟悉了所有相关操作,那么下面就要关心其中的数据类型。

其中涉及来四类特殊的数据类型:

  • 缺失型数据

  • 文本型数据

  • 分类型数据

  • 时间序列型数据

四种数据类型,分别对应了6-9章的内容。同时,在缺失型数据和文本型数据中,详细涉及Pandas1.0版本新的Nullable和string数据类型,这也是从Pandas 0.x升级后具有最大改动的方面。

模块4 动手实践(第10章)

最终,教程1-9章的最后都会加入两个练习题帮助读者巩固本章所学,每一道题都有多个小问,难度逐个上升,与知识点紧密结合。同时在第10章中会添加若干难度不一的综合问题,目前已添加两个经典案例,供大家学习实践。

最后,所有的练习都提供了参考答案,保证了完备性。

写到最后

除了教程主体和练习内容,每一章还加入了问题部分。每个章节设置3-8个问题,问题的内容包含了对知识点的细化认识、对复杂知识点的梳理、对某个函数或Pandas对象设计的思考等,如果在完成练习的基础上认真思考了这些问题,那么相信你对Pandas的掌握程度一定会再上一层楼,最后衷心的希望你能快乐的学习Pandas,体验用Pandas进行数据处理和分析的乐趣。

开源地址

https://github.com/datawhalechina/joyful-pandas(或阅读原文)

“为开源贡献者点赞↓“

告别痛苦,快乐学习Pandas!开源教程《Joyful-Pandas》发布相关推荐

  1. 《动手学数据分析》开源教程完整发布!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:陈安东,湖南大学,Datawhale成员 1. 开源初衷 对于任何 ...

  2. 【资源】《动手学数据分析》开源教程完整发布!

    作者:陈安东,湖南大学,Datawhale成员 1. 开源初衷 对于任何一个将来要实际运用的技能,通过实战,自己亲自将一行行代码敲出来,然后达到自己想要的效果,这个过程是最好的学习方式. 最开始接触了 ...

  3. 快乐学习Pandas!开源教程《Joyful-Pandas》发布

    Datawhale 作者:耿远昊.Datawhale团队 寄语:Pandas 是基于Numpy的一种工具,是为了解决数据分析任务而创建的,其纳入了大量库和一些标准的数据模型,提供了大量能使我们快速便捷 ...

  4. PS多媒体教程带你享受快乐学习

    PS多媒体教程带你享受快乐学习 与单纯的图文教程相比,生动活泼的视频多媒体教程更容易吸引大家的注意,让学习过程更加轻松有趣. 这里推出的是FIF 多媒体制作组精心制作的一系列从入门基础到高级应用的Ph ...

  5. 中文教程!PyTorch版《动手学深度学习》开源了,最美DL书遇上最赞DL框架

    点击我爱计算机视觉标星,更快获取CVML新技术 本文经机器之心(微信公众号:almosthuman2014)授权转载,禁止二次转载 机器之心报道 项目作者:ShusenTang 参与:思 想要入门最前 ...

  6. pandas版本_Datawhale十二月Pandas组学习打卡Task00.准备工作

    编号112打卡 Pandas大名如雷贯耳,做数据处理不可能不用Pandas.但以前没有系统学过,十分懵懂.这次跟着Datawhale的学习营学习,争取能深入全面的了解.我们这次组队的队名叫" ...

  7. 深度学习小白入门教程-基础环境篇

    深度学习小白入门教程-基础环境篇 如有图片显示失败,请回小主主页查看~ Anaconda 安装包下载方式一:官网(科学上网比较慢,不推荐) 安装包下载方式二:清华镜像(推荐) 具体安装步骤(跟着箭头来 ...

  8. Pandas中文教程

    导航 索引 模块 | 下一个 | pandas 0.19.2 documentation» 目录 新功能 安装 为pandas贡献 常见问题(FAQ) 套装概述 10分钟入门pandas 教程 食谱 ...

  9. 【特别推荐】Node.js 中文学习资料和教程导航

    这篇文章来自 Github 上的一位开发者收集整理的 Node.js 中文学习资料和教程导航.Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念,它的目标是帮助程 ...

最新文章

  1. 提高性能:用RequireJS优化Wijmo Web页面
  2. mysql的安全管理工具_最安全mysql管理工具
  3. js 读取flask后台变量
  4. thymeleaf基本语法
  5. win7系统图标异常修复方法
  6. 怎么才能在百度上看到自己发布的博文?
  7. 免装版_一款好用的便签工具 桌面便签免安装版
  8. 开源API网关系统:Kong简介
  9. 【BZOJ2959】长跑 LCT+并查集
  10. oracle 10g for solaris准备工作和实例的删除
  11. 曾经如日中天的VB编程,现已没落,而惨遭嫌弃的它,成了香饽饽
  12. 1.3端口扫描:利用Nmap工具进行端口扫描
  13. 三菱plc串口通讯c语言,三菱plc串口通信协议与串口初始化
  14. Prometheus邮件报警设置
  15. 一个50岁大叔学编程的真实故事——任何时候学习都不晚
  16. 发布《区块链创新与知识产权发展白皮书》
  17. 前端开发:如何正确地跨端?
  18. 计算机科学概论课件,计算机科学概论 课件chap 05
  19. [转]SQL Server 2008存储结构之GAM、SGAM
  20. 铁马冰河入梦来——从源文件到可执行文件(待后续)

热门文章

  1. 添加百度地图最简单的办法
  2. 线性代数:第一章 线性方程组
  3. 15级团队学习成果汇报 -- 利用C#语言实现展览厅
  4. 百度CTO王海峰阐释AI融合创新,降低门槛,按下产业智能化加速键
  5. 视障人士体验自动驾驶:携导盲犬登车,未来有望“自己开”
  6. 技术直播:1小时突击Java工程师面试核心(限免报名)
  7. 编程能力差,90%输在了这点上!CTO:这样学编程 ,更容易成为高手
  8. 20行Python代码实现视频字符化
  9. 这些算法工程师,他们真的是太难了!
  10. 深度学习有哪些接地气又好玩的应用?