分享

pandas和numpy有什么关系?

 星光闪亮图书馆 2019-12-21

NumPy中的ndarray用于处理多维数值型数组,重点在于进行数值运算,无索引

*Pandas中的Series类似于DataFrame的子集,DataFrame中的每一列都可以看作是一个Series,有索引,方便进行数据的查询,筛选,所以Pandas重点在于进行数据分析

在数学与统计方法上,NumPy中的ndarray只能进行数值型统计,而Pandas中的DataFrame既可以进行数值型,也可以进行非数值型统计。基于可以容纳不同的数据类型而定

1.NumPy

数值型,重点在于进行矩阵运算

N维数组容器,Numpy是以矩阵为基础的数学计算模块。

Numpy专门针对ndarray的操作和运算进行了设计,所以数组的存储效率和输入输出性能远优于Python中的嵌套列表,数组越大,Numpy的优势就越明显。Numpy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。

ndarray

所有元素的类型相同,存储元素时内存可以连续;Python里list中的元素类型任意,只能通过寻址方式找到下一个元素

ndarray矩阵结构与matlab或者C++或者fortran都很不一样,没有行优先或者列优先的概念

ndarray支持并行化运算(向量化运算),类似于Matlab

Numpy底层使用C语言编写,内部解除了GIL(全局解释器锁),其对数组的操作速度不受Python解释器的限制,效率远高于纯Python代码

2.Pandas

多数据类型,重点在于进行数据分析

pansdas是基于Numpy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量快速便捷地处理数据的函数和方法。使Python成为强大而高效的数据分析环境的重要因素之一。

1

Series

参看书:Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。**小规模数据**

1

类似于一维数组,索引对象的数据类型是一致的

有了索引标签,方便实际问题中进行信息提取与筛选

python字典类型的数据可以直接给Series对象

Series可以运用ndarray或字典的几乎所有索引操作和函数,融合了字典和ndarray的优点。

属性 说明

values 获取数组

index 获取索引

name values的name

index.name 索引的name

DataFrame

DataFrame就是按照column和index组织起来的数据集合,类似于excel表格,也类似于基本的database结构。DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用同一个索引)。

1

DataFrame范例

year state pop debt

one 2000 Ohio 1.5 16.5

two 2001 Ohio 1.7 16.5

three 2002 Ohio 3.6 16.5

four 2001 Nevada 2.4 16.5

five 2002 Nevada 2.9 16.5

six 2003 Nevada 3.2 16.5

Series类似于DataFrame的子集,从上表可以看出,每一列都对应这一个Series

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多