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

Pandas 入门核心技巧与实战指南

综述由AI生成Pandas 作为 Python 数据分析的核心工具,掌握其基础操作至关重要。内容涵盖 DataFrame 创建、数据探索、切片选取及常用函数应用。通过字典构建数据框、读取本地文件、查看统计信息、布尔索引筛选以及分组聚合等操作,帮助初学者快速上手数据处理流程,提升分析效率。重点讲解了条件筛选中的符号规范、字符串处理方法以及分组统计的实际应用场景。

XiaoPingzi发布于 2025/2/3更新于 2026/6/1118 浏览
Pandas 入门核心技巧与实战指南

Python 数据分析领域,Pandas 是绕不开的核心工具。掌握其基础操作,能极大提升数据处理效率。本文将结合实际案例,梳理从数据创建、探索到清洗分析的常用技巧。

首先,导入必要的库:

import pandas as pd
import numpy as np

一、创建 DataFrame 数据

1. 通过字典构建

利用 Python 字典可以直接初始化 DataFrame,适合小规模数据测试:

df = pd.DataFrame({
    "name": ["小明", "小红", "小孙", "王小", "关宇", "刘蓓", "张菲"],
    "age": [20, 18, 27, 20, 28, 18, 25],
    "sex": ["男", "女", "男", "男", "男", "女", "女"],
    "score": [669, 570, 642, 590, 601, 619, 701],
    "address": ["北京", "深圳", "广州", "武汉", "深圳", "广州", "长沙"]
})
print(df)

2. 读取本地文件

处理真实业务时,通常从 Excel 或 CSV 加载数据:

# 读取 Excel 文件
df = pd.read_excel("学生信息.xlsx")

二、数据探索

在分析前,先了解数据的整体结构至关重要。

查看基本信息

  • shape:返回 (行数,列数)。
  • columns:获取列名列表。
  • dtypes:显示各列的数据类型。
print(df.shape)      # (7, 5)
print(df.columns)    # Index(['name', 'age', ...], dtype='object')
print(df.dtypes)     # 查看数据类型

缺失值检查

使用 isnull() 标记缺失项,配合 sum() 统计数量:

print(df.isnull().sum())

描述性统计

数值型列的统计摘要(均值、标准差、分位数等):

print(df.describe())

三、查看头尾数据

快速预览数据首尾部分,无需加载全部:

# 默认查看前 5 行
df.head()

# 指定行数,如前 3 行
df.head(3)

# 尾部数据
df.tail(3)

四、灵活取数

1. 选择特定列

单列返回 Series,多列返回 DataFrame:

# 单列
name_col = df["name"]

# 多列
subset = df[["name", "age"]]

2. 按数据类型筛选

根据列的类型(如 int64, object)过滤:

# 仅保留整数类型列
df.select_dtypes(include="int64")

# 排除整数类型
df.select_dtypes(exclude="int64")

3. 条件筛选

布尔索引是 Pandas 最强大的功能之一。注意多个条件需用 & 连接,且每个条件需加括号:

# 年龄等于 20
df[df["age"] == 20]

# 年龄大于等于 20 且小于 27
df[(df["age"] >= 20) & (df["age"] < 27)]

4. 字符串匹配

利用 .str 访问器进行文本处理:

# 包含'小'字的名字
df[df["name"].str.contains("小")]

# 以'小'开头
df[df["name"].str.startswith("小")]

# 不包含'小'
df[~df["name"].str.contains("小")]

五、切片操作

支持 Python 标准的切片语法 [start:stop:step]:

# 从索引 4 取到末尾
df[4:]

# 步长为 2,每隔一行取一次
df[::2]

# 倒序输出
df[::-1]

六、常用函数应用

1. 统计频次

value_counts() 用于统计唯一值的出现次数:

city_counts = df["address"].value_counts()

2. 重置索引

筛选后索引可能不连续,使用 reset_index(drop=True) 恢复:

male_df = df[df["sex"] == "男"].reset_index(drop=True)

3. 重命名列

使用 rename 修改列名:

df.rename(columns={"index": "city", "address": "location"}, inplace=True)

4. 分组聚合

groupby 结合聚合函数实现分组统计:

# 按性别统计总分
sex_score = df.groupby("sex")["score"].sum()

# 按性别和班级统计平均分
result = df.groupby(["sex", "class"])["score"].mean().reset_index()

5. apply 函数

对列元素应用自定义逻辑,常用于数据转换:

# 将性别转换为数字
# 方式一:lambda 表达式
df["sex_code"] = df["sex"].apply(lambda x: 1 if x == "男" else 0)

# 方式二:自定义函数
def map_sex(x):
    return 1 if x == "男" else 0

df["sex_code"] = df["sex"].apply(map_sex)

总结

Pandas 提供了丰富的数据结构和方法来处理表格数据。从基础的创建与查看,到复杂的条件筛选与分组聚合,熟练掌握这些技巧能让数据处理工作事半功倍。建议在实际项目中多动手实践,逐步积累经验。

目录

  1. 一、创建 DataFrame 数据
  2. 1. 通过字典构建
  3. 2. 读取本地文件
  4. 读取 Excel 文件
  5. 二、数据探索
  6. 查看基本信息
  7. 缺失值检查
  8. 描述性统计
  9. 三、查看头尾数据
  10. 默认查看前 5 行
  11. 指定行数,如前 3 行
  12. 尾部数据
  13. 四、灵活取数
  14. 1. 选择特定列
  15. 单列
  16. 多列
  17. 2. 按数据类型筛选
  18. 仅保留整数类型列
  19. 排除整数类型
  20. 3. 条件筛选
  21. 年龄等于 20
  22. 年龄大于等于 20 且小于 27
  23. 4. 字符串匹配
  24. 包含“小”字的名字
  25. 以“小”开头
  26. 不包含“小”
  27. 五、切片操作
  28. 从索引 4 取到末尾
  29. 步长为 2,每隔一行取一次
  30. 倒序输出
  31. 六、常用函数应用
  32. 1. 统计频次
  33. 2. 重置索引
  34. 3. 重命名列
  35. 4. 分组聚合
  36. 按性别统计总分
  37. 按性别和班级统计平均分
  38. 5. apply 函数
  39. 将性别转换为数字
  40. 方式一:lambda 表达式
  41. 方式二:自定义函数
  42. 总结
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • CATE 条件平均处理效应估计:五大方法原理详解与 Python 实战
  • ToDesk、顺网云与海马云运行 DeepSeek 模型对比评测
  • 无人机飞行空域申请与合规操作指南
  • 从工具辅助到 AI 开发:前端新范式
  • 基于 OpenClaw 与 httpcat 构建企业级文件管理智能体
  • 前端对接豆包 API 实现直播间互动:注册与密钥配置
  • Z-Image-ComfyUI:AI 绘画中文提示词效果实测
  • Linux lsof 命令常用用法与实战指南
  • Spring AI MCP Server 集成与源码解析
  • 云开发 Copilot 功能介绍与低代码生成实战
  • Flutter 构建 compileDebugJavaWithJavac 错误:阿里云 Maven 镜像配置方案
  • 渐进式 Web 应用开发实例:核心技术与实战
  • Page-Agent: 一行 JS 代码实现大模型对前端 DOM 的精准操控
  • 数据结构空间复杂度详解:概念与常见计算示例
  • C++ ROS 回调函数中的对象生命周期陷阱:Use-After-Free 解析
  • CarelessWhisper: 将 Whisper 改造为因果流式语音识别模型
  • AI Agent 智能体核心架构与实战解析
  • 四大 AI 编程工具深度对比:TRAE、Qoder、Cursor 与 Copilot 选型指南
  • 基于Python的旅游城市关键词分析
  • llama.cpp 量化模型部署实战:从模型转换到 API 服务

相关免费在线工具

  • 加密/解密文本

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