Pandas 模块基础

发布于:2025-07-13 ⋅ 阅读:(11) ⋅ 点赞:(0)

        Pandas 是 Python 数据分析领域非常重要的工具,掌握它能让我们的数据分析工作事半功倍。接下来,我们就从它的起源、安装方法,到核心数据结构和索引知识,一步步揭开它的面纱。

一、从起源到价值

首先,我们得知道 Pandas 是怎么来的。它是由美国纽约的量化投资分析师韦斯・麦金尼(Wes McKinney) 在 2008 年开发的。这个名字很有意思,它有两个由来:一是 “Panel data”(面板数据,指多维数据结构),二是 “Python data analysis”(Python 数据分析),从名字就能看出它和数据分析的紧密联系。

那 Pandas 到底是什么呢?简单说,它是一个专注于数据处理、数据分析和数据可视化的 Python 库。为什么我们一定要学它?这得说说它的优势:

  • 它基于 NumPy,能高效进行数据汇总和运算;
  • 面对重复、缺失、异常数据,它能灵活处理,快速完成数据探查;
  • 支持数字、文本等多种数据类型,轻松实现数据清洗;
  • 导入导出功能强大,能处理 CSV、Excel、数据库等多种来源的数据,还能通过 HDF5 格式快速保存加载;
  • 有完善的时间序列功能,比如日期范围生成、频率转换等;
  • 还有类似 SQL 的表查询功能,让数据查询更简单。

这些优势让 Pandas 成为数据分析的 “利器”,学好它能极大提升我们的工作效率。

二、安装 Pandas:两种常用方法

了解了 Pandas 的价值,接下来我们看看怎么安装它。主要有两种方法:

1. pip 工具安装

这是最常用的方法,只需要在命令行中输入一行命令:pip install pandas,就能自动安装最新版本的 Pandas。

2. 在 PyCharm 中安装

如果用 PyCharm 开发,可以直接在软件内安装:打开 “File”→“Settings”→“Project: 项目名”→“Python Interpreter”,点击 “+” 号,搜索 “pandas”,点击 “Install Package” 即可。

这里要注意,Pandas 有几个重要的依赖模块,分别是xlrdxlwtopenpyxl,它们负责 Excel 文件的读写。所以安装完 Pandas 后,记得用同样的方法安装这三个模块,确保能正常处理 Excel 数据。

三、Pandas 的两大数据结构:Series 和 DataFrame

Pandas 的核心是它的两种数据结构,所有操作都围绕它们展开,我们一个个来看。

1. Series:一维带索引的数组

Series 是一维数据结构,可以理解为 “一列数据”,它最大的特点是 “带索引”。比如我们可以用它来表示一列学生的成绩、一列商品的价格等。

如何创建 Series?

pd.Series(data, index=index)函数,其中data可以是列表、字典等,index是我们指定的索引(如果不指定,会自动生成从 0 开始的默认索引)。

举个例子:

  • 用列表创建:s1 = pd.Series([1, 2, 3]),这会生成一个索引为 0、1、2,值为 1、2、3 的 Series;
  • 用字典创建:s2 = pd.Series({"A":1, "B":2, "C":3}),这里字典的键会成为索引,值就是 Series 的值。

Series 的功能主要集中在对单列数据的操作,比如字符串的查找、替换、切分等。

2. DataFrame:二维表格型结构

DataFrame 是二维数据结构,可以理解为 “一张表格”,有行有列,类似 Excel 表格。比如学生成绩表(包含姓名、语文、数学、英语成绩)就是典型的 DataFrame。

如何创建 DataFrame?

pd.DataFrame(data, index, columns, dtype)函数,data可以是列表、字典、Series 等,index是行索引,columns是列索引。

举个例子:

  • 用列表创建成绩表:我们可以把每个学生的各科成绩放在列表里,指定行索引为姓名,列索引为科目,就能生成一张清晰的成绩表;
  • 用字典创建:字典的键作为列名,值作为列数据,比如{"语文":[110, 105, 109], "数学":[105, 88, 120]},就能生成包含语文、数学两列的 DataFrame。

DataFrame 的功能非常丰富,包括数据的输入输出、类型转换、缺失值处理、索引设置、筛选、计算、分组统计、绘图等,是我们处理表格数据的核心工具。

这里有个小技巧:用 Pandas 时,经常会遇到列不对齐或显示不全的问题。可以用pd.set_option()函数解决:

  • 解决列不对齐:pd.set_option('display.unicode.east_asian_width', True)
  • 解决列显示不全:pd.set_option('display.width', 1000)(设置显示宽度)和pd.set_option('display.max_columns', 1000)(设置最大显示列数)。

四、数据中的索引:让数据查询更高效

索引是 Pandas 中非常重要的概念,它就像数据的 “标签”,能帮我们快速定位和操作数据。

1. 什么是索引?

索引分为两种:

  • 隐式索引:系统自动生成的默认索引,是从 0 开始的连续数字(位置索引);
  • 显式索引:我们手动设置的标签索引,可以通过index参数或set_index()方法设置,比如把 “姓名” 设为索引。

2. 索引的好处

为什么要设置索引?主要有三个优势:

  • 方便定位数据:通过索引能快速找到目标数据,不用逐行扫描;
  • 提升查询性能:如果索引唯一,Pandas 会用哈希表优化,查询时间复杂度是 O (1);如果索引有序,会用二分查找,复杂度是 O (logN),都比随机扫描(O (N))快得多;
  • 自动数据对齐:在数据运算时,索引会自动对齐,避免数据错位。

3. Series 和 DataFrame 中的索引操作

(1)Series 中的索引操作
  • 设置索引:创建时用index参数,比如pd.Series([88, 60, 75], index=['甲', '乙', '丙']),就把索引设为了姓名;
  • 重新索引:用reindex()方法,可以添加新索引(缺失值用 NaN 填充),还能通过method参数设置向前 / 向后填充(ffill向前,bfill向后);
  • 获取数据:通过位置索引(s[0])、标签索引(s['甲']),或用iloc(位置索引专用)、loc(标签索引专用)属性,比如s.iloc[0]s.loc['甲']
(2)DataFrame 中的索引操作
  • 设置某列为索引:用set_index()方法,比如df.set_index('姓名'),就把 “姓名” 列设为了行索引;
  • 重新索引:用reindex()方法,可以同时修改行索引和列索引,新增的索引对应位置会填充 NaN;
  • 重置索引:用reset_index()方法,能恢复默认的连续数字索引,适合删除数据后整理索引。

总结

Pandas 的 “基石”是:核心数据结构 Series 和 DataFrame,以及关键的索引知识。这些是 Pandas 的 “基石”,掌握它们能为后续的数据分析操作打下坚实的基础。


网站公告

今日签到

点亮在社区的每一天
去签到