python知识,python的概述

  python知识,python的概述

  【01x00】了解 Pandas

  Pandas是Python的一个数据分析包,基于NumPy构建。它最初由AQR资本管理公司于2008年4月开发,并于2009年底开源。目前由专注于Python数据包开发的PyData开发团队持续开发和维护,是PyData项目的一部分。

  Pandas最初是作为金融数据分析工具开发的,因此Pandas为时间序列分析提供了很好的支持。熊猫的名字来源于面板数据和Python数据分析。

  Panel data是经济学中关于立方体的一个术语,Panel的数据类型在熊猫中也有提供。

  Pandas经常与其他工具一起使用,如数值计算工具NumPy和SciPy,分析库statsmodels和scikit-learn,数据可视化库Matplotlib等。虽然Pandas采用了大量的NumPy编码风格,但两者的区别在于Pandas是专门为处理表格和混合数据而设计的。

  NumPy更适合处理均匀的数值数组数据。

  Pandas是Python的核心数据分析支持库,提供了快速、灵活、清晰的数据结构,旨在简单直观地处理关系型和标记型数据。

  Pandas旨在成为Python数据分析实践和实战必不可少的高级工具,其长期目标是成为最强大、最灵活、可支持任何语言的开源数据分析工具。经过多年的不懈努力,熊猫离这个目标越来越近了。

  Pandas 适用于处理以下类型的数据:

  1.具有类似于SQL或Excel表的异构列的表数据;

  2.有序和无序(非固定频率)时间序列数据;

  3.具有行和列标签的矩阵数据,包括同构或异构数据;

  4.任何其他形式的观察和统计数据集,并且当数据被转移到Pandas数据结构中时,不需要预先标记该数据。

  熊猫的主要数据结构是Series(一维数据)和DataFrame(二维数据),足以处理金融、统计、社科、工程等领域的大多数典型用例。

  对于R语言用户,DataFrame提供了比R语言data.frame更丰富的功能,Pandas基于NumPy开发,可以与其他第三方科学计算支持库完美集成。

  Pandas 就像一把万能瑞士军刀,下面仅列出了它的部分优势 :

  1.处理浮点和非浮点数据中的缺失数据,记为NaN;

  2.可变大小:插入或删除DataFrame等多维对象的列;

  3.自动和显式数据对齐:将对象与一组标签显式对齐,或忽略标签,并在系列和数据帧计算期间自动与数据对齐;

  4.强大灵活的按功能分组:拆分-应用-合并数据集,聚合和转换数据;

  5.轻松将Python和NumPy数据结构中不同索引的不规则数据转换为DataFrame对象;

  6.基于智能标签,对大数据集进行切片、花式索引、子集分解等操作;

  7.直观地合并和连接数据集;

  8.灵活地改造和轮换数据集;

  9.Axis支持分层标签(每个刻度可以有多个标签);

  10.强大的IO工具,可以从平面文件(CSV等支持分隔符的文件)、Excel文件、数据库等来源读取数据,保存/加载超快HDF5格式的数据;

  时间序列:支持日期范围生成、频率转换、移动窗口统计、移动窗口线性回归、日期位移等时间序列功能。

  这些功能主要是解决其他编程语言和科研环境的痛点。数据处理一般分为几个阶段:数据整理和清洗、数据分析和建模、数据可视化和制表。Pandas是数据处理的理想工具。

  其它说明:

  熊猫跑得非常快。熊猫的很多底层算法都被Cython优化过。但是,为了保持通用性,必须牺牲一些性能。如果你专注于某个功能,你可以开发一个比熊猫还快的特殊工具。

  Pandas是statsmodels的依赖项,所以Pandas也是Python中统计计算生态系统的重要组成部分。

  熊猫已经广泛应用于金融领域。

  【02x00】Pandas 数据结构

  熊猫的主要数据结构是Series(标注为一维同质数组)和DataFrame(标注为大小可变的二维异质表)。

  Pandas数据结构就像一个低维数据的容器。例如,DataFrame是Series的容器,Series是标量容器。这样,对象可以以字典的形式在容器中插入或删除。

  另外,一般API函数的默认操作要考虑时间序列和横截面数据集的方向。

  当使用Ndarray存储2D或3D数据时,用户在编写函数时注意数据集的方向是一个负担。如果不考虑C或Fortran中连续性对性能的影响,一般来说,程序中不同轴之间是没有区别的。

  在熊猫中,轴的概念主要是赋予数据更直观的语义,即以更恰当的方式表达数据集的方向。这使得用户可以用更少的大脑编写数据转换函数。

  在处理DataFrame等表格数据时,比较Numpy、index (row)或columns (column)比axis 0和axis 1更直观。以这种方式迭代DataFrame的列使代码更具可读性和可理解性:

  forcolindf.columns:

  系列=df[列]

  #dosomethingwithseries更多Python知识请关注Python视频教程!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: