您现在的位置是:课程教程文章
Python之了解pandas!
2023-12-18 17:50课程教程文章 人已围观
-
Python Web框架Django从入门到实战_腾讯课堂
Python Web框架Django从入门到实战_腾讯课堂... -
Python+Selenium + Webdriver元素定位 最基础的自
Python+Selenium + Webdriver元素定位 最基础的自... -
Python零基础入门必看动画课【全集】
Python零基础入门必看动画课【全集】【用动画学Python】《Python零基础入门动画课【500+集】》5大就业方向案例持续更... -
02_Python运算符类型转换_条件判断
02_Python运算符类型转换_条件判断北京育华志远科技有限公司是国内综合性软件与信息服务企业,以领先的技术、...
【01x00】了解 Pandas
Pandas 是 Python 的一个数据分析包,是基于 NumPy 构建的,最初由 AQR Capital Management 于 2008 年 4 月开发,并于 2009 年底开源出来,目前由专注于 Python 数据包开发的 PyData 开发团队继续开发和维护,属于 PyData 项目的一部分。
Pandas 最初被作为金融数据分析工具而开发出来,因此,Pandas 为时间序列分析提供了很好的支持。Pandas 的名称来自于面板数据(panel data)和 Python 数据分析(data analysis)。
panel data 是经济学中关于多维数据集的一个术语,在 Pandas 中也提供了 panel 的数据类型。
Pandas 经常和其它工具一同使用,如数值计算工具 NumPy 和 SciPy,分析库 statsmodels 和 scikit-learn,数据可视化库 Matplotlib 等,虽然 Pandas 采用了大量的 NumPy 编码风格,但二者不同是 Pandas 是专门为处理表格和混杂数据设计的。
而 NumPy 更适合处理统一的数值数组数据。
Pandas 是 Python 的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。
Pandas 的目标是成为 Python 数据分析实践与实战的必备高级工具,其长远目标是成为最强大、最灵活、可以支持任何语言的开源数据分析工具。经过多年不懈的努力,Pandas 离这个目标已经越来越近了。
Pandas 适用于处理以下类型的数据:
1、与 SQL 或 Excel 表类似的,含异构列的表格数据;
2、有序和无序(非固定频率)的时间序列数据;
3、带行列标签的矩阵数据,包括同构或异构型数据;
4、任意其它形式的观测、统计数据集, 数据转入 Pandas 数据结构时不必事先标记。
Pandas 的主要数据结构是 Series(一维数据)与 DataFrame(二维数据),这两种数据结构足以处理- 金融、统计、社会科学、工程等领域里的大多数典型用例。
对于 R 语言用户,DataFrame 提供了比 R 语言 data.frame 更丰富的功能。Pandas 基于 NumPy 开发,可以与其它第三方科学计算支持库完美集成。
Pandas 就像一把万能瑞士军刀,下面仅列出了它的部分优势 :
1、处理浮点与非浮点数据里的缺失数据,表示为 NaN;
2、大小可变:插入或删除 DataFrame 等多维对象的列;
3、自动、显式数据对齐:显式地将对象与一组标签对齐,也可以忽略标签,在 Series、DataFrame 计算时自动与数据对齐;
4、强大、灵活的分组(group by)功能:拆分-应用-组合数据集,聚合、转换数据;
5、把 Python 和 NumPy 数据结构里不规则、不同索引的数据轻松地转换为 DataFrame 对象;
6、基于智能标签,对大型数据集进行切片、花式索引、子集分解等操作;
7、直观地合并和连接数据集;
8、灵活地重塑和旋转数据集;
9、轴支持分层标签(每个刻度可能有多个标签);
10、强大的 IO 工具,读取平面文件(CSV 等支持分隔符的文件)、Excel 文件、数据库等来源的数据,以及从超快 HDF5 格式保存 / 加载数据;
时间序列:支持日期范围生成、频率转换、移动窗口统计、移动窗口线性回归、日期位移等时间序列功能。
这些功能主要是为了解决其它编程语言、科研环境的痛点。处理数据一般分为几个阶段:数据整理与清洗、数据分析与建模、数据可视化与制表,Pandas 是处理数据的理想工具。
其它说明:
Pandas 速度很快。Pandas 的很多底层算法都用 Cython 优化过。然而,为了保持通用性,必然要牺牲一些性能,如果专注某一功能,完全可以开发出比 Pandas 更快的专用工具。
Pandas 是 statsmodels 的依赖项,因此,Pandas 也是 Python 中统计计算生态系统的重要组成部分。
Pandas 已广泛应用于金融领域。
【02x00】Pandas 数据结构
Pandas 的主要数据结构是 Series(带标签的一维同构数组)与 DataFrame(带标签的,大小可变的二维异构表格)。
Pandas 数据结构就像是低维数据的容器。比如,DataFrame 是 Series 的容器,Series 则是标量的容器。使用这种方式,可以在容器中以字典的形式插入或删除对象。
此外,通用 API 函数的默认操作要顾及时间序列与截面数据集的方向。
当使用 Ndarray 存储二维或三维数据时,编写函数要注意数据集的方向,这对用户来说是一种负担;如果不考虑 C 或 Fortran 中连续性对性能的影响,一般情况下,不同的轴在程序里其实没有什么区别。
Pandas 里,轴的概念主要是为了给数据赋予更直观的语义,即用更恰当的方式表示数据集的方向。这样做可以让用户编写数据转换函数时,少费点脑子。
处理 DataFrame 等表格数据时,对比 Numpy,index(行)或 columns(列)比 axis 0 和 axis 1 更直观。用这种方式迭代 DataFrame 的列,代码更易读易懂:
for col in df.columns: series = df[col] # do something with series
更多Python知识,请关注Python视频教程!!
上一篇:Python中的时间模块大汇总!
下一篇:没有了