加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

分析很重要的7个Python库

发布时间:2021-06-02 15:37:49 所属栏目:语言 来源:互联网
导读:NumPy是Numerical Python的简写,是Python数值计算的基石。它提供多种数据结构、算法以及大部分涉及Python数值计算所需的接口。NumPy还包括其他内容: 快速、高效的多维数组对象ndarray 基于元素的数组计算或数组间数学操作函数 用于读写硬盘中基于数组的

NumPy是Numerical Python的简写,是Python数值计算的基石。它提供多种数据结构、算法以及大部分涉及Python数值计算所需的接口。NumPy还包括其他内容:

快速、高效的多维数组对象ndarray

基于元素的数组计算或数组间数学操作函数

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

线性代数操作、傅里叶变换以及随机数生成

成熟的C语言API,允许Python拓展和本地的C或C++代码访问NumPy的数据结构和计算设施。

除了NumPy赋予Python的快速数组处理能力之外,NumPy的另一个主要用途是在算法和库之间作为数据传递的数据容器。对于数值数据,NumPy数组能够比Python内建数据结构更为高效地存储和操作数据。

此外,用底层语言编写的库,例如用C或Fortran编写的库,可以在NumPy数组存储的数据上直接操作,而无须将数据复制到其他内存中后再操作。因此,许多Python的数值计算工具将NumPy数组作为基础数据结构,或与NumPy进行无缝互操作。

pandas提供了高级数据结构和函数,这些数据结构和函数的设计使得利用结构化、表格化数据的工作快速、简单、有表现力。它出现于2010年,帮助Python成为强大、高效的数据分析环境。常用的pandas对象是DataFrame,它是用于实现表格化、面向列、使用行列标签的数据结构;以及Series,一种一维标签数组对象。

pandas将表格和关系型数据库(例如SQL)的灵活数据操作能力与NumPy的高性能数组计算的理念相结合。它提供复杂的索引函数,使得数据的重组、切块、切片、聚合、子集选择更为简单。由于数据操作、预处理、清洗在数据分析中是重要的技能,pandas将是重要主题。

介绍一点背景知识,早在2008年,我在一家量化投资企业——AQR资本管理公司供职时,便开始了pandas的开发。那时候,我有一些独特的需求是工具清单上任何单个工具无法满足的:

带有标签轴,支持自动化或显式数据对齐功能的数据结构——这可以防止未对齐数据和不同数据源的不同索引数据所引起的常见错误

集成时间序列函数功能

能够同时处理时间序列数据和非时间序列数据的统一数据结构

可以保存元数据的算术操作和简化

灵活处理缺失数据

流行数据库(例如基于SQL的数据库)中的合并等关系型操作

我想将以上的工作在同一个地方完成,最好还能在一个拥有通用软件开发能力的语言中实现。Python就是一个很好的备选项,但是那时候并没有这类数据结构的整合集,也没有能提供相关功能的工具。结果就是pandas最初被开发出来用于解决金融和商业分析问题,pandas尤其擅长深度时间序列和处理商业进程中产生的时间索引数据。

使用R语言进行统计计算的用户对DataFrame的名称会非常熟悉,因为这个对象是根据相似的R data.frame对象进行命名的。与Python不同的是,数据框在R语言中是标准库中的内容。因此,pandas中的很多特征通常与R核心的实现或者R的附加库提供的功能一致。

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读