NumPy

NumPy(Numerical Python的简称)是Python科学计算的基础包。它提供了以下功能(不限于此):快速高效的多维数组对象ndarray。

用于对数组执行元素级计算以及直接对数组执行数学运算的函数。

用于读写硬盘上基于数组的数据集的工具。

线性代数运算、傅里叶变换,以及随机数生成。

成熟的C API, 用于Python插件和原生C、C++、Fortran代码访问NumPy的数据结构和计算工具。

除了为Python提供快速的数组处理能力,NumPy在数据分析方面还有另外一个主要作用,即作为在算法和库之间传递数据的容器。对于数值型数据,NumPy数组在存储和处理数据时要比内置的Python数据结构高效得多。此外,由低级语言(比如C和Fortran)编写的库可以直接操作NumPy数组中的数据,无需进行任何数据复制工作。因此,许多Python的数值计算工具要么使用NumPy数组作为主要的数据结构,要么可以与NumPy进行无缝交互操作。

Pandas

pandas提供了快速便捷处理结构化数据的大量数据结构和函数。自从2010年出现以来,它助使Python成为强大而高效的数据分析环境。其中用得最多的pandas对象是DataFrame,它是一个面向列(column-oriented)的二维表结构,另一个是Series,一个一维的标签化数组对象。

pandas兼具NumPy高性能的数组计算功能以及电子表格和关系型数据库(如SQL)灵活的数据处理功能。它提供了复杂精细的索引功能,能更加便捷地完成重塑、切片和切块、聚合以及选取数据子集等操作。因为数据操作、准备、清洗是数据分析最重要的技能。它提供了以下功能(不限于此):处理有标签轴的数据结构,支持自动或清晰的数据对齐。这可以防止由于数据不对齐,或处理来源不同的索引不同的数据,所造成的错误。

集成时间序列功能。

相同的数据结构用于处理时间序列数据和非时间序列数据。

保存元数据的算术运算和压缩。

灵活处理缺失数据。

合并和其它流行数据库(例如基于SQL的数据库)的关系操作。

对于使用R语言进行统计计算的用户,肯定不会对DataFrame这个名字感到陌生,因为它源自于R的data.frame对象。但与Python不同,data frames是构建于R和它的标准库。因此,pandas的许多功能不属于R或它的扩展包。

pandas这个名字源于panel data(面板数据,这是多维结构化数据集在计量经济学中的术语)以及Python data analysis(Python数据分析)。

matplotlib

matplotlib是最流行的用于绘制图表和其它二维数据可视化的Python库。它最初由John D.Hunter(JDH)创建,目前由一个庞大的开发团队维护。它非常适合创建出版物上用的图表。虽然还有其它的Python可视化库,matplotlib却是使用最广泛的,并且它和其它生态工具配合也非常完美。

IPython和Jupyter

IPython项目起初是Fernando Pérez在2001年的一个用以加强和Python交互的子项目。在随后的16年中,它成为了Python数据栈最重要的工具之一。虽然IPython本身没有提供计算和数据分析的工具,它却可以大大提高交互式计算和软件开发的生产率。IPython鼓励“执行-探索”的工作流,区别于其它编程软件的“编辑-编译-运行”的工作流。它还可以方便地访问系统的shell和文件系统。因为大部分的数据分析代码包括探索、试错和重复,IPython可以使工作更快。

2014年,Fernando和IPython团队宣布了Jupyter项目,一个更宽泛的多语言交互计算工具的计划。IPython web notebook变成了Jupyter notebook,现在支持40种编程语言。IPython现在可以作为Jupyter使用Python的内核(一种编程语言模式)。

IPython变成了Jupyter庞大开源项目(一个交互和探索式计算的高效环境)中的一个组件。它最老也是最简单的模式,现在是一个用于编写、测试、调试Python代码的强化shell。你还可以使用通过Jupyter Notebook,一个支持多种语言的交互式网络代码“笔记本”,来使用IPython。IPython shell 和Jupyter notebooks特别适合进行数据探索和可视化。

Jupyter notebooks还可以编写Markdown和HTML内容,它提供了一种创建代码和文本的富文本方法。其它编程语言也在Jupyter中植入了内核,好让在Jupyter中可以使用Python以外的语言。

SciPy

SciPy是一组专门解决科学计算中各种标准问题域的包的集合,主要包括下面这些包:scipy.integrate:数值积分方程和微分方程求解器。

scipy.linalg:扩展了由numpy.linalg提供的线性代数方程和矩阵分解功能。

scipy.optimize:函数优化器(最小化器)以及根查找算法。

scipy.signal:信号处理工具。

scipy.sparse:稀疏矩阵和稀疏线性系统求解器。

scipy.special:SPECFUN(这是一个实现了许多常用数学函数(如伽玛函数)的Fortran库)的包装器。

scipy.stats:标准连续和离散概率分布(如密度函数、采样器、连续分布函数等)、各种统计检验方法,以及更好的描述统计法。

NumPy和SciPy结合使用,便形成了一个相当完备和成熟的计算平台,可以处理多种传统的科学计算问题。

scikit-learn

2010年诞生以来,scikit-learn成为了Python的通用机器学习工具包。仅仅七年,到了2017年就汇聚了全世界超过1500名贡献者。它的子模块包括:分类:SVM、近邻、随机森林、逻辑回归等等。

回归:Lasso、岭回归等等。

聚类:k-均值、谱聚类等等。

降维:PCA、特征选择、矩阵分解等等。

选型:网格搜索、交叉验证、度量。

预处理:特征提取、标准化。

与pandas、statsmodels和IPython一起,scikit-learn对于Python成为高效数据科学编程语言起到了关键作用。

statsmodels

statsmodels是一个统计分析包,起源于斯坦福大学统计学教授Jonathan Taylor,他设计了多种流行于R语言的回归分析模型。Skipper Seabold和Josef Perktold在2010年正式创建了statsmodels项目,随后汇聚了大量的使用者和贡献者。受到R的公式系统的启发,Nathaniel Smith发展出了Patsy项目,它提供了statsmodels的公式或模型的规范框架。

与scikit-learn比较,statsmodels包含经典统计学和经济计量学的算法。包括如下子模块:回归模型:线性回归,广义线性模型,健壮线性模型,线性混合效应模型等等。

方差分析(ANOVA)。

时间序列分析:AR,ARMA,ARIMA,VAR和其它模型。

非参数方法:核密度估计,核回归。

统计模型结果可视化。

statsmodels更关注与统计推断,提供不确定估计和参数p-值。相反的,scikit-learn注重预测。

python数据分析基础 阮敬_Python数据分析用到的几个重要的库相关推荐

  1. python数据分析基础 阮敬_教学大纲_Python数据分析

    < Python 数据分析>教学大纲 课程编号: 120973B 课程类型:□通识教育必修课 □通识教育选修课 √专业必修课 □专业选修课 □学科基础课 总学时: 48 讲课学时: 16 ...

  2. python数据分析基础 余本国_Python数据分析基础

    本书根据作者多年教学经验编写, 条理清楚, 内容深浅适中, 尽量让读者从实例出发, 结合课后练习, 少走弯路.本书涉及的内容主要包括Python数据类型与运算.流程控制及函数与类.Pandas库的数据 ...

  3. python数据分析与可视化清华大学_Python数据分析与可视化

    讲解Python数据分析与可视化中的九大模块,内容全面详实: 提供11个课程实训和2个完整的项目案例,理论结合实践 : 赠送420分钟的教学视频及丰富的配套资源,便于教师教学. 超值赠送: 教学大纲. ...

  4. python中ndarray对象实例化_Python数据分析之Numpy学习 2——NumPy 基础 ndarray对象

    Python数据分析之Numpy学习 2 -- NumPy 基础学习 NumPy(Numerical Python)是高性能科学计算和数据分析的基础包.NumPy的主要对象是同构数据多维容器(homo ...

  5. python数据分析要学什么_python数据分析学什么?python数据分析入门

    有很多没有基础的新手想学习python数据分析,却在纠结python数据分析难不难学?下面万古网校小编给大家整理了资料,为各位分享! 1.python难不难? Python可以说是目前比较主流而且易学 ...

  6. python数据分析案例分析题_Python数据分析-案例分析

    星火:Python数据分析基础​zhuanlan.zhihu.com 两个学习道具: 1)这个网页可以调用全球最大的搜索引擎(长按此处可以复制): 事先准备: 在notebook中想要导入Excel文 ...

  7. python数据分析与爬虫区别_Python数据分析和爬虫的书分享

    上次更新竟然还是25天前,说实话真的很佩服那些日更公众号/专栏的人了,写一篇几乎能要了我半天的命,懒到废. 最近一直在学爬虫,头疼... 我的转行目标是数据分析师/写爬虫的/数据产品经理/数据运营,目 ...

  8. python数据分析与可视化清华大学_Python数据分析与可视化 微课视频版

    随着互联网的飞速发展,人们在互联网上的行为产生了海量数据,对这些数据存储.处理与分析带动了大数据技术的发展.其中,数据挖掘和分析技术可以帮助人们对庞大的数据进行相关分析,找到有价值的信息和规律,使得人 ...

  9. python便捷数据怎么获取_Python数据分析入门——从数据获取到可视化

    基本信息 作者: 沈祥壮 ISBN:9787121336539 上架时间:2018-3-22 出版日期:2018 年3月 开本:16开 页码:260 版次:1-1 [插图] 编辑推荐 了解基本的Pyt ...

最新文章

  1. LightOJ 1095 Arrange the Numbers(容斥原理)
  2. linux 切换root_Linux运维服务篇:流量监控工具iftop部署及详细参数分享
  3. LeetCode 455. 分发饼干(贪心)
  4. 一个XML转换的例子
  5. 《隐秘的角落》数学学霸朱朝阳如何炼成?这3招,你家孩子也能用上!
  6. mysql快速导入导出数据库_mysql快速导出与导入
  7. PyTorch学习—14.PyTorch中的学习率调整策略
  8. 分享12306秒票杀手锏源码
  9. cownew开源-cownewStudio抢先预览
  10. 墨西哥FBA海运头程货代,墨西哥海运几天到?
  11. VirtualBox成功安装Ubuntu18.04设置共享文件夹总结
  12. TN3399开发板折腾记录
  13. 香港低价linux虚拟主机,
  14. VirtualBox 扩展VDI空间
  15. 上海公积金销户问题--程序员
  16. sd卡数据丢失怎么恢复?
  17. 爱迪尔 门锁接口文档_门锁接口说明
  18. Tushare安装使用经验分享
  19. gitblit本地版本管理库-localhost访问
  20. 2011年7月编程语言排行榜,Objective-C将成为年度语言

热门文章

  1. springcloud工作笔记096---springboot集成多线程_高并发_集成线程池的使用
  2. C#.Net工作笔记015---C#中Decimal类型四舍五入_小数点截位
  3. java面试要点---Spring体系知识点复习,IOC,AOP---随时更新
  4. JAVA组件使用---UUID使用方法
  5. sudo uograde 之后 需要重装显卡驱动
  6. 杭电1203I NEED A OFFER!
  7. 安装VMWare tools 及安装后/mnt中有hgfs但没共享文件的解决办法
  8. 对VC++一些常见问题的整理
  9. mysql自动更新时间的触发器
  10. python实现logistic_用python实现Logistic