跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

Python Pandas 核心数据结构与操作实战

Pandas 是 Python 数据分析的核心库,提供 Series 和 DataFrame 两种主要数据结构。内容涵盖导入库、索引机制(loc/iloc)、数据运算(加减乘除及 fill_value 处理)、统计方法(describe/mean)以及切片筛选等实用技巧。通过实际案例演示如何高效处理表格数据,包括缺失值填充、行列操作及复杂条件筛选,帮助开发者快速掌握 Pandas 在数据处理流程中的应用。

云间漫步发布于 2026/3/28更新于 2026/9/866 浏览
Python Pandas 核心数据结构与操作实战

前言

Pandas 是 Python 生态中用于数据分析的核心开源库,提供了强大的数据结构和运算功能。理解其底层逻辑对于高效处理数据至关重要。

  • Series:一维数组结构,类似于 NumPy 的一维 array,但带有索引标签,可存储字符串、布尔值或数字等多种类型。
  • DataFrame:二维表格型数据结构,类似 SQL 表或 Excel 工作表。每列可以是不同数据类型,拥有列名和行索引,是 Pandas 最核心的数据结构。

下面我们来拆解一下它的核心用法。

一、导入 Pandas 库

通常使用别名 pd 进行导入:

import pandas as pd

二、使用 Series,创建一维数组

默认情况下,索引从 0 开始:

文章配图

三、index 查看下标,values 查看下标的值

注意: 这里涉及标签(Label)和下标(Position)的区别,详见后文。

  1. index:输出类似于 range 对象。
    • start 代表起始标签;stop 代表结束标签(不包含该值,到 n-1);step 代表步长。
  2. values:直接获取下标对应的实际数值,索引是从 0 开始的。

文章配图

四、使用 index 指定标签

当自定义了索引标签后,默认位置索引会发生变化。例如,如果给第一个元素指定标签为 5,那么访问位置 0 可能会报错,此时需要用到 iloc 和 loc。

文章配图

五、iloc 和 loc 的使用

这是新手最容易混淆的地方,简单区分如下:

  1. iloc:基于整数位置(integer location),即计算机记忆中的默认下标。
  2. loc:基于标签(label),由我们自主定义的索引名称。

可以看到,计算机的下标 1 对应的值是 2,而我们自定义的标签 1 对应的值是 5。

文章配图

六、创建对象

这里的'键'其实就是数据的标签。虽然看起来像字典,但在 Pandas 中它是一维数据对象。

  1. 什么是键? 键值对中的键,如 "键": 值。如果不熟悉字典基础,建议先回顾 Python 基础知识。

文章配图

  1. 修改数据:使用 loc 找到标签'小张',将其值修改为 95。

文章配图

  1. 筛选数据:& 符号在 Pandas 中相当于 Python 的 and。

文章配图

七、两个数据相加、相减、相乘、相除

1、相加——add

直接相加时,如果索引不匹配会导致结果为 NaN。建议使用 add 方法并设置 fill_value。

# 在 s1 基础上加 s2,缺失值以 0 代替
result = s1.add(s2, fill_value=0)

文章配图

2、相减——sub

文章配图

3、相乘——mul

文章配图

4、相除——div

文章配图

八、求最大值、最小值、求和值、平均值

文章配图

九、describe() —— 数据分析方法

快速查看数据的统计摘要信息。

文章配图

文章配图

十、apply() —— 定义函数判断数据

apply() 可以对数据进行批量处理,非常灵活。

文章配图

十一、DataFrame —— 创建二维数组

文章配图

十二、修改标签

标签名要统一,否则会报错;可以缺少,但数据也要对应减少,保持一一对应。

特别提示:标签会自动排序好。

文章配图

文章配图

十三、查看标签(行属性)

文章配图

十四、查看列属性

文章配图

十五、查看数据

文章配图

十六、数据颠倒——行列调换

文章配图

十七、提取数据(列)

  1. 查看班级数据

文章配图

  1. 查看成绩数据

文章配图

  1. 查看学号和成绩:需要再加一个 [],否则报错。

文章配图

十八、提取数据(行)

注意区分 loc 和 iloc 的区别。

文章配图

十九、切片操作

1、标签切片

文章配图

2、下标切片

注意:3 是终止位,不会执行。如果想包含小红到小丽,需要 [1:4]。

文章配图

3、行列切片——标签

文章配图

4、行列切片——下标

文章配图

二十、筛选——判断、提取数据

  1. 单单判断数据:输出布尔值。

文章配图

  1. 判断完数据并提取数据:输出具体数据。

文章配图

二十一、查看前几行数据——数据量庞大时使用

注意:head() 不输入任何值时,默认值为 5,输出前 5 行数据。

文章配图

二十二、drop 搭配 axis 用法

我们先导入要使用的数据:

文章配图

添加考试 4 的数据:

文章配图

drop 表示删除,axis 用来指定是行还是列。

可以看到删除了行的 002 和 004:

文章配图

可以看到删除了列的考试 2 和考试 4:

文章配图

二十三、两个数据相加

  1. student 的数据请看目录二十二。
  2. 先定义一个数据 bonus,让它们两个相加。
  3. 注意:运行一次相加一次;标签要一一对应,否则会导致数据错误。

相加完之后不会改变原数据,如果需要改变原数据,需要重新赋值。

文章配图

实现重新赋值,以考试 4 为例:

文章配图

二十四、案例实操——求出平均值

mean(axis=1):求每一行的平均值。

这里可能会有理解冲突:上面解释 axis=0 代表行,axis=1 代表列,但是 mean(axis=1) 为什么代表的是行?

可以理解为:被包含的方向相反。

  • 行对列操作
  • 列对行操作

文章配图

文章配图

文章配图

文章配图

二十五、案例实操——筛选出第二大的数据

  1. loc[:, "考试 1":"考试 3"] 其实就是 loc["001":"006", "考试 1":"考试 3"]。
  2. lambda x:定义匿名函数 x。
  3. np.sort(x):使用 numpy 库的 sort 方法,进行升序。
  4. np.sort(x)[-2]:升序完后提取倒数第二个值,也就是第二大的值,然后返回匿名函数 x。

文章配图

目录

  1. 前言
  2. 一、导入 Pandas 库
  3. 二、使用 Series,创建一维数组
  4. 三、index 查看下标,values 查看下标的值
  5. 四、使用 index 指定标签
  6. 五、iloc 和 loc 的使用
  7. 六、创建对象
  8. 七、两个数据相加、相减、相乘、相除
  9. 1、相加——add
  10. 在 s1 基础上加 s2,缺失值以 0 代替
  11. 2、相减——sub
  12. 3、相乘——mul
  13. 4、相除——div
  14. 八、求最大值、最小值、求和值、平均值
  15. 九、describe() —— 数据分析方法
  16. 十、apply() —— 定义函数判断数据
  17. 十一、DataFrame —— 创建二维数组
  18. 十二、修改标签
  19. 十三、查看标签(行属性)
  20. 十四、查看列属性
  21. 十五、查看数据
  22. 十六、数据颠倒——行列调换
  23. 十七、提取数据(列)
  24. 十八、提取数据(行)
  25. 十九、切片操作
  26. 1、标签切片
  27. 2、下标切片
  28. 3、行列切片——标签
  29. 4、行列切片——下标
  30. 二十、筛选——判断、提取数据
  31. 二十一、查看前几行数据——数据量庞大时使用
  32. 二十二、drop 搭配 axis 用法
  33. 二十三、两个数据相加
  34. 二十四、案例实操——求出平均值
  35. 二十五、案例实操——筛选出第二大的数据

更多推荐文章

查看全部
  • 大模型服务选型实战:AI Ping 性能评测工具深度体验
  • AI Agent 推理架构对比:ReAct 与 Plan-and-Execute 的选择
  • OpenCV 环境变量配置与性能调优指南
  • 2026 年 3 月全球大模型全景:国产登顶、百万上下文与智能体爆发
  • 扣子(Coze)Skills+OpenClaw 实战:零基础构建 AI 智能体
  • Spring Cloud Alibaba 微服务架构实战指南
  • Xilinx PCIe IP 核详解、FPGA 实现及仿真流程(Virtex-7 Gen3)
  • 基于 Spring Boot 的在线招聘平台设计与实现
  • 深入解析 C++ 轻量级 WebServer 实现
  • 让 Llama-Factory 真正跑在 Flash Attention 上:环境、配置与性能一探
  • 初识Java:语言特性与基础语法入门
  • 使用 Ollama、Open WebUI 和 Docker 本地部署可视化 AI 大语言模型
  • Flutter 组件 sse_stream 在鸿蒙系统的适配与高并发背压处理方案
  • 自然语言处理在客户服务领域的应用与实战
  • Google AI Studio 使用指南:界面与参数配置详解
  • 基于 LangChain-Chatchat 和 ChatGLM3 搭建私有化知识库实战
  • Whisper Turbo:支持超99种语言的极速语音识别
  • LeetCode 124 二叉树中的最大路径和解题详解
  • 前缀和算法实战:和为 K 的子数组与和可被 K 整除的子数组
  • Krita AI 绘画插件本地部署与使用指南

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online