1.《Python数据分析》准备工作

前言

《利用Python进行数据分析》第一版使用python2.7,出版于2012年

本书第二版使用python3.6,编写于2016年~2017年,针对pandas库的新特征进行更新

目前的笔记依赖于第三版,编写于2022年,并对pandas库的新特征进行更新

第三版在项目上尽可能与前两版保持一致,但是在细节有一些优化;同时第三版最大的一处变化是开放了在线版本,并通过git版本控制进行持久维护,查缺补漏(给作者点个赞)。

本书中所有涉及的代码和数据也都可以在Github项目Gitee项目中找到

在前言部分,作者也致敬和感谢了很多曾经激励或帮助他本人的机构与伙伴

1 本书主要内容

介绍Python编程和用于数据处理的库和工具环境

深入说明通过Python进行数据控制、处理、整理、分析等要点与细节

本文主要需要处理的是结构化数据(structured data),包括但不限于表格型/关系型数据、多维数组、多表关联、时间序列。数据类型也以字符串、数字化、日期为主

2 Python的特性

Python的优势

  • 数据科学、机器学习、软件开发等领域,都具备规模庞大并且活跃的社区
  • 在数据分析、交互式计算以及数据可视化方面,也具备强大而优秀的性能
  • 作为一种胶水(Glue)语言,Python能很好地衔接不同的语言或软件系统
  • Python很适合科研领域研究与测试,在工业的生产开发也具备不俗的实力

Python的不足:

  • 作为一种解释型编程语言,天然的比编译型语言运行慢
  • 由于全局解释器锁(Global Interpreter Lock,GIL)的存在,Python不适合高并发多线程的场景

3 Python的常用库

Numpy:科学计算基础包,能高效地处理数组与相关的数学运算

pandas:本书的重点研究工具,兼具Numpy的高性能和类似Excel的灵活性

matplotlib:图表绘制基础包,常作为数据可视化工具的首选

IPython和Jupyter:交互式的Python编程,更符合数据分析与探索的实战场景

SciPy:处理科学计算的常用包,包含微积分、最优化、统计检验等功能

scikit-learn:通过机器学习工具包,内置大量常用的机器学习算法

statsmodels:统计分析包,包含很多经典统计学和经济计量学的算法

4 Python的安装与配置

不同系统下的Python安装:略

Python包的安装或升级使用condapip:细节略

入门推荐直接安装Miniconda或Anaconda,更多细节可查阅Anaconda基础知识

集成开发环境(IDEs)和文本编辑器:PyDev(免费)、PyCharm(个人开发者免费)、Visual Studio(免费,个人推荐)、Spyder(免费,Anaconda自带)、Komodo IDE(付费)

5 社区和会议

常见社区:

  • pydata:和Python数据分析或pandas相关
  • pystatsmodels: 和statsmodels或pandas相关
  • scikit-learn和Python机器学习相关组织列表
  • numpy-discussion:和NumPy相关
  • scipy-user:和SciPy和科学计算相关

常见会议:

  • PyCon和EuroPython:北美和欧洲的两大Python会议
  • SciPy和EuroSciPy:北美和欧洲两大科学计算的相关会议
  • PyData:世界范围内,专注数据科学和数据分析的地区性会议
  • 国际和地区的PyCon会议完整列表

6 本书导航

本书第2~3章,主要介绍Python的特点,IPython和Jupyter notebooks。非初学者可选择性跳过

常见术语:数据规整(Munge/Munging/Wrangling)、伪代码(Pseudocode)、语法糖(Syntactic sugar)

往年同期文章