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

Python Pandas 核心用法实战指南

综述由AI生成Pandas 是 Python 数据分析的核心库,主要包含 Series 和 DataFrame 两种数据结构。本文详细讲解了 Series 的创建、索引管理(loc/iloc)、算术运算及 apply 方法;深入介绍了 DataFrame 的行列属性查看、切片提取、数据筛选与 drop 操作。重点解析了 axis 参数在聚合计算中的方向含义,并通过计算平均值和筛选第二大值的案例展示了实际应用技巧。内容涵盖从基础导入到高级筛选的全流程,适合希望快速上手 Pandas 的开发者参考。

RustyLab发布于 2026/3/25更新于 2026/5/1911 浏览
Python Pandas 核心用法实战指南

Python Pandas 核心用法实战指南

Pandas 是基于 Python 构建的开源数据分析库,提供了强大的数据结构和运算功能。在数据处理领域,它几乎是事实上的标准工具。

Pandas 的核心数据结构主要有两个:

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

环境准备

使用前需导入 Pandas 库,通常约定简写为 pd:

import pandas as pd

Series 数据结构详解

创建与基础属性

Series 从索引 0 开始存储数据。我们可以通过 index 查看下标(标签),通过 values 获取具体的数值。

s = pd.Series([1, 2, 3])
print(s.index)  # 输出类似 range(0, 3)
print(s.values) # 直接查看下标的值

注意区分下标和标签。默认情况下,下标是整数索引,而标签是我们自定义的键。如果修改了标签,直接使用下标访问可能会报错,这时需要用到 iloc 和 loc。

loc 与 iloc 的区别
  • iloc:基于位置(整数下标),计算机默认的内存记忆。
  • loc:基于标签(我们自定义的键),由用户自主指定。

例如,若将索引标签设为 5,则下标 0 对应的值可能不再是 0,而是对应标签 5 的值。理解这一点对于后续的数据筛选至关重要。

数据操作

修改数据:使用 loc 可以通过标签定位并修改值。

s.loc['小张'] = 95

筛选数据:结合逻辑运算符进行条件判断。

# & 代表 and,用于组合多个条件
result = s[(s > 80) & (s < 100)]

算术运算:支持加、减、乘、除等操作。当两个 Series 相加时,若索引不匹配,结果会出现 NaN。可以使用 add 方法配合 fill_value 参数处理缺失值。

# 对齐索引后相加,缺失处填 0
res = s1.add(s2, fill_value=0)

此外,还可以使用 apply() 对数据进行批量处理,例如定义函数判断数据范围。

DataFrame 操作实战

创建与属性

DataFrame 可以看作是由多个 Series 组成的字典。创建时需确保标签(行索引)统一,否则可能报错。虽然允许缺少部分数据,但需保证行列对应关系正确。

df = pd.DataFrame({'姓名': ['A', 'B'], '成绩': [90, 85]})

查看 DataFrame 的属性非常直观:

  • df.columns:查看列属性。
  • df.index:查看行属性(标签)。
  • df.values:查看底层数据。
切片与提取

提取列:单列直接用 [],多列需用双层 []。

# 提取班级数据
class_data = df['班级']
# 提取学号和成绩
sub_df = df[['学号', '成绩']]

提取行:同样区分 loc(标签)和 iloc(下标)。

切片操作:

  • 标签切片:包含起始和结束标签。
  • 下标切片:遵循 Python 列表习惯,左闭右开(如 [1:4] 不包含索引 4)。
  • 行列混合切片:同时指定行和列的范围。
筛选与聚合

筛选数据:先判断生成布尔值,再提取满足条件的数据。

mask = df['成绩'] > 80
filtered_df = df[mask]

统计信息:

  • head(n):查看前 n 行,默认 5 行,适合大数据量预览。
  • describe():快速获得数据统计摘要(均值、标准差、分位数等)。
  • max(), min(), sum(), mean():常用聚合函数。

删除数据:使用 drop 方法,配合 axis 参数指定删除行还是列。

# axis=0 表示按行删除,axis=1 表示按列删除
df.drop([0, 2], axis=0, inplace=True)

综合案例

计算平均值

在计算 DataFrame 的平均值时,axis 参数的方向容易混淆。简单来说:

  • axis=0:沿列方向操作(即对每一列求平均,结果是一个 Series,对应每一列的统计)。
  • axis=1:沿行方向操作(即对每一行求平均,结果是一个 Series,对应每个样本的统计)。
# 计算每一行的平均分
row_mean = df.mean(axis=1)
筛选第二大值

这是一个典型的业务场景。我们可以利用 apply 配合 lambda 和 numpy 排序来实现。

import numpy as np

# 选取特定列,应用匿名函数
second_largest = df.loc[:, '考试 1':'考试 3'].apply(
    lambda x: np.sort(x)[-2]
)

这里 np.sort(x) 进行升序排列,取倒数第二个元素即为第二大的值。这种写法在处理复杂筛选逻辑时非常高效。

掌握这些核心用法,基本能覆盖日常数据分析 80% 的场景。实际开发中,建议多结合官方文档查阅具体函数的参数细节。

目录

  1. Python Pandas 核心用法实战指南
  2. 环境准备
  3. Series 数据结构详解
  4. 创建与基础属性
  5. loc 与 iloc 的区别
  6. 数据操作
  7. & 代表 and,用于组合多个条件
  8. 对齐索引后相加,缺失处填 0
  9. DataFrame 操作实战
  10. 创建与属性
  11. 切片与提取
  12. 提取班级数据
  13. 提取学号和成绩
  14. 筛选与聚合
  15. axis=0 表示按行删除,axis=1 表示按列删除
  16. 综合案例
  17. 计算平均值
  18. 计算每一行的平均分
  19. 筛选第二大值
  20. 选取特定列,应用匿名函数
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Python 核心概念与面试高频考点汇总
  • 使用 Z-Image-Turbo 进行本地 AI 绘画:16GB 显存支持与中英提示词
  • AI 大模型全解析:从原理到应用实战指南
  • Java 核心面试题与解析
  • OpenCLaw Web UI 无法访问 Not Found 问题排查与解决
  • Fluid 数据编排能力原理解析
  • C++ 基础知识入门:命名空间、引用与函数重载
  • C++ 多线程互斥锁实战:解决竞态条件与死锁
  • C++ 哈希表核心解析:冲突解决与实现细节
  • LeetCode 链表进阶:K 组翻转与归并排序实战(Python)
  • C++ std::optional 详解:类型安全的可选值封装
  • C++11 新特性详解:Lambda 表达式、可变参数模板与包装器
  • WhisperX 语音识别工具:核心优势与使用指南
  • AR 眼镜移动端应用软件概述与技术展望
  • Java 文件操作核心 API 与实战场景
  • 一种光伏产品缺陷检测 AI 深度学习算法
  • 大模型推理框架选型入门:Ollama、llama.cpp与vLLM对比
  • Spring Cloud 负载均衡实战:LoadBalancer 原理与策略
  • Web 到小程序跨平台迁移:PixiJS 高性能渲染方案
  • Linux TCP 协议基础与连接管理详解:从三次握手到四次挥手

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如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