AI 高手之路 #6:Pandas 数据处理——AI 数据清洗与准备

article/2025/8/3 3:16:23

目录

  1. 引言:为什么 Pandas 是 AI 数据处理的瑞士军刀?
  2. Pandas 核心数据结构:精巧的矛与盾
    • 2.1 Series:一维数据的精巧之矛
      • 创建 Series:从零开始构建
      • Series 索引和切片:精准定位与范围选取
      • Series 运算:灵活的数据操作
    • 2.2 DataFrame:二维数据的坚实之盾
      • 创建 DataFrame:构建数据分析的基石
      • DataFrame 索引和切片:行列自由穿梭
      • DataFrame 常用属性和方法:洞察数据全貌
  3. 数据读取与写入:AI 世界的数据高速公路
    • 3.1 读取 CSV、Excel、JSON、SQL 等格式的数据:连接数据世界的桥梁
    • 3.2 将 DataFrame 写入各种格式的文件:数据持久化的保障
  4. 数据清洗:打造 AI 模型的 शुद्ध 数据
    • 4.1 缺失值处理 (isnull, notnull, dropna, fillna):填补数据空白
    • 4.2 重复值处理 (duplicated, drop_duplicates):消除数据冗余
    • 4.3 异常值检测与处理:揪出数据中的捣蛋分子
    • 4.4 数据类型转换 (astype):赋予数据正确的身份
    • 4.5 字符串处理 (str 访问器):玩转文本数据
  5. 数据转换:让数据焕发新生
    • 5.1 应用函数 (apply, applymap, map):定制化数据改造
    • 5.2 数据排序 (sort_values, sort_index):理顺数据秩序
    • 5.3 数据分组 (groupby):分而治之的数据策略
    • 5.4 数据聚合 (agg):化繁为简的数据浓缩
    • 5.5 数据透视表 (pivot_table):多维数据分析利器
    • 5.6 数据合并 (merge, join, concat):集零为整的数据融合
  6. 数据探索:像侦探一样洞察数据
    • 6.1 查看头部/尾部数据 (head, tail):快速预览数据
    • 6.2 查看数据统计信息 (describe):数据概况一览
    • 6.3 查看数据分布 (value_counts, hist):揭示数据模式
    • 6.4 相关性分析 (corr):探寻数据关联
  7. Pandas 实用技巧:提升效率的秘密武器
    • 7.1 使用链式操作:让代码更优雅
    • 7.2 使用 query 方法进行数据筛选:更直观的查询
    • 7.3 使用 where 方法进行条件替换:精准修改数据
    • 7.4 使用 cutqcut 进行数据分箱:离散化连续数据
  8. Pandas 在 AI 中的应用:无处不在的幕后英雄
  9. 总结与下一步:从 Pandas 到更广阔的 AI 世界
  10. 挑战任务:动手实践,融会贯通

在这里插入图片描述

Pandas:AI 数据处理的瑞士军刀

大家好!欢迎回到 “AI 高手之路” 系列,今天我们来聊聊 Pandas,这个在人工智能(AI)领域中扮演着至关重要角色的 Python 库。如果你立志成为一名 AI 专家,那么 Pandas 绝对是你工具箱中最锋利、最实用的瑞士军刀。

1. 引言:为什么 Pandas 是 AI 数据处理的瑞士军刀?

在构建任何 AI 模型之前,我们都必须面对一个共同的挑战:数据。原始数据就像未经雕琢的璞玉,散落在各处,格式各异,质量参差不齐。它们可能包含缺失值、重复项、错误信息,甚至是以模型无法直接理解的方式呈现。

这时,Pandas 就如同数据处理领域的瑞士军刀,以其强大的功能和灵活性,帮助我们高效地完成数据清洗、转换、分析和探索等一系列繁琐却至关重要的任务。它之所以在 AI 领域不可或缺,主要归功于以下几点:

  • 化繁为简: Pandas 提供了简洁直观的 API,让复杂的数据操作变得易于理解和实现。你不需要编写冗长的循环,就能轻松完成各种数据处理任务。
  • 灵活多变: 无论是处理结构化数据、时间序列数据还是文本数据,Pandas 都能提供强大的支持。它能够读取和写入多种数据格式,并进行各种灵活的数据操作。
  • 性能卓越: Pandas 底层基于 NumPy 构建,拥有出色的运算性能,即使处理大型数据集也能保持高效。
  • 生态融合: Pandas 与 Scikit-learn, Matplotlib, Seaborn 等众多 Python 数据科学和 AI 库无缝集成,构建了一个强大的数据处理和分析生态系统。

可以说,掌握 Pandas 是成为一名合格 AI 工程师的基本功。它不仅能帮助你高效地处理数据,更能让你将更多精力集中在模型构建和算法优化等核心 AI 任务上。

原始数据
数据读取
DataFrame
数据清洗
数据转换
数据探索
处理后数据
AI模型训练

数据处理流程示意图:Pandas 在 AI 数据处理流程中扮演核心角色。

2. Pandas 核心数据结构:精巧的矛与盾

Pandas 的核心在于两种强大的数据结构:SeriesDataFrame。它们就像是数据处理的矛与盾,Series 擅长处理一维数据,DataFrame 则能灵活应对二维表格数据。

2.1 Series:一维数据的精巧之矛

Series 是一种类似于一维数组的对象,但它比 NumPy 数组更强大,因为它带有标签,也就是索引(Index)。你可以把 Series 看作是带标签的列表或字典。

创建 Series:从零开始构建

创建 Series 非常简单,你可以从列表、NumPy 数组或字典等多种数据类型创建。

import pandas as pd# 从列表创建 Series
s1 = pd.Series([10, 20, 30, 40, 50])
print(s1)
# 0    10
# 1    20
# 2    30
# 3    40
# 4    50
# dtype: int64# 指定索引的 Series
s2 = pd.Series([10, 20, 30, 40, 50], index=['a', 'b', 'c', 'd', 'e'])
print(s2)
# a    10
# b    20
# c    30
# d    40
# e    50
# dtype: int64# 从字典创建 Series
s3 = pd.Series({'apple': 10, 'banana': 20, 'orange': 30})
print(s3)
# apple     10
# banana    20
# orange    30
# dtype: int64

代码解释:

  • pd.Series() 是创建 Series 的核心函数。
  • 可以直接传入一个列表作为数据,索引默认从 0 开始。
  • 可以通过 index 参数自定义索引标签。
  • 也可以使用字典创建 Series,字典的键会成为索引标签,值会成为 Series 的数据。
Series 索引和切片:精准定位与范围选取

Series 的索引和切片操作非常灵活,你可以像操作列表或字典一样访问 Series 中的数据。

s = pd.Series([10, 20, 30, 40, 50], index=['a', 'b', 'c', 'd', 'e'])# 通过位置索引
print(s[0])     # 输出: 10
print(s[1:3])   # 输出:# b    20# c    30# dtype: int64# 通过标签索引
print(s['a'])    # 输出: 10
print(s['b':'d'])  # 输出:# b    20# c    30# d    40# dtype: int64

代码解释:

  • Series 支持位置索引(类似列表的索引)和标签索引(使用自定义的索引标签)。
  • 切片操作同样支持位置和标签,标签切片是包含结束标签的。
Series 运算:灵活的数据操作

Series 支持各种算术运算、比较运算和 NumPy 的通用函数,可以方便地进行数据处理。

s1 = pd.Series([1, 2, 3])
s2 = pd.Series([4, 5, 6])# 算术运算
print(s1 + s2)  # 输出:# 0    5# 1    7# 2    9# dtype: int64
print(s1 * 2)   # 输出:# 0    2# 1    4# 2    6# dtype: int64# NumPy 函数
import numpy as np
print(np.sqrt(s1)) # 输出:# 0    1.000000# 1    1.414214# 2    1.732051# dtype: float64

代码解释:

  • Series 之间可以直接进行加减乘除等算术运算,运算会自动对齐索引
  • Series 可以和标量进行运算,会对 Series 中的每个元素都进行运算。
  • 可以调用 NumPy 的数学函数直接对 Series 进行操作。
2.2 DataFrame:二维数据的坚实之盾

DataFrame 是 Pandas 中最核心、最常用的数据结构,它是一个二维表格型数据,可以看作是由多个 Series 组成的字典,每列可以是不同的数据类型。DataFrame 提供了强大的数据处理和分析功能,是 Pandas 的灵魂所在。

创建 DataFrame:构建数据分析的基石

创建 DataFrame 的方式多种多样,最常见的包括从字典、列表的列表、NumPy 数组等创建。

import pandas as pd
import numpy as np# 从字典创建 DataFrame
data1 = {'name': ['Alice', 'Bob', 'Charlie'],'age'

http://www.hkcw.cn/article/iGGjMKKavx.shtml

相关文章

初学者如何微调大模型?从0到1详解

本文将手把手带你从0到1,详细解析初学者如何微调大模型,让你也能驾驭这些强大的AI工具。 1. 什么是大模型微调? 想象一下,预训练大模型就像一位博览群书但缺乏专业知识的通才。它掌握了海量的通用知识,但可能无法完美…

2008-2023年 上市公司-企业研发操纵数据-社科经管实证数据

2008-2023年上市公司-企业研发操纵数据-社科经管https://download.csdn.net/download/paofuluolijiang/90880455 https://download.csdn.net/download/paofuluolijiang/90880455 覆盖2008-2023年A股上市公司的研发操纵行为,累计包含超3.4万条观测值,涉及…

马斯克:不想为美政府所做的一切担责 成裁员替罪羊

当地时间6月1日,美国企业家埃隆马斯克在接受哥伦比亚广播公司采访时表达了他对政府的态度。他表示自己并不想公开反对美国政府,但也不愿意为政府所做的一切承担责任。马斯克提到,他领导的“政府效率部”成了所有问题的替罪羊,无论裁员是否真实发生,责任都被推到了该部门头…

歼-10超低空飞行含金量超高 飞行员技术与胆识的双重考验

歼-10战斗机是中国自主研制的高性能、多用途、全天候的第三代战斗机,能够完成震撼的超低空飞行。其动作流畅自如,如行云流水般展示挂载和低空盘旋等高难度动作。对于飞行员而言,利用山谷地形进行超低空飞行不仅有助于隐蔽行动,还能有效避开敌方雷达探测,实现突然袭击。尽管…

F1西班牙站正赛:皮亚斯特里夺冠,迈凯伦领跑

北京时间6月1日,F1西班牙大奖赛正赛结束。皮亚斯特里夺冠,诺里斯和勒克莱尔分别获得第二和第三名。拉塞尔、霍肯博格、汉密尔顿、哈贾尔、加斯利、阿隆索和维斯塔潘依次位列第四至第十名。安东内利和阿尔本因故退赛。比赛开始时,两台迈凯伦赛车占据头排位置,维斯塔潘和拉塞…

【办公类-22-05】20250601Python模拟点击鼠标上传CSDN12篇

、 背景需求: 每周为了获取流量券,每天上传2篇,获得1500流量券,每周共上传12篇,才能获得3000和500的券。之前我用UIBOT模拟上传12篇。 【办公类-22-04】20240418 UIBOT模拟上传每天两篇,获取流量券,并删除内容_csdn 每日任务流量券-CSDN博客文章浏览阅读863次,点赞18…

LCD驱动

LCD驱动、LVGL图形库 参考【环境搭建】:环境搭建 — BouffaloSDK 2.0 文档 参考【快速入门LVGL】:https://blog.csdn.net/qq_49053936/category_12630233.html 参考 【百问网】:欢迎阅读LVGL中文开发手册! — LVGL 文档 1.环境…

落石石头检测数据集VOC+YOLO格式1185张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):1185 标注数量(xml文件个数):1185 标注数量(txt文件个数):1185 …

java servlet: context-path的作用

当 没有配置 java servlet: context-path 时, swagger的地址是 http://localhost:8086/api/v1/swagger-ui/index.html 当配置了 java servlet: context-path 时, swagger的地址前要加上context-path 比如 application.yml是 server:port: 80…

初学c语言22(编译和链接)

一.翻译环境和运行环境 在ANSIC的任何一种实现中存在俩个不同的环境,分别为翻译环境和运行环境,翻译环境中源代码转化为可执行的机器指令(二进制指令),执行环境执行代码 1.翻译环境 翻译环境分为编译和链接&#xff…

什么是缺页中断(缺页中断详解)

文章目录 【操作系统】什么是缺页中断(缺页中断详解)一、缺页中断的本质与背景1. **虚拟内存与分页机制**2. **缺页中断的定义** 二、缺页中断的触发场景1. **首次访问新分配的虚拟页**2. **内存置换导致的页缺失**3. **访问权限冲突**4. **页表项无效**…

2025——》VSCode Windows 最新安装指南/VSCode安装完成后如何验证是否成功?2025最新VSCode安装配置全攻略

1.VSCode Windows 最新安装指南: 以下是 2025 年 Windows 系统下安装 Visual Studio Code(VSCode)的最新指南,结合官方文档与实际操作经验整理而成: 一、下载官方安装包: 1.访问官网: 打开浏览器,进入 VSCode 官方下载页面https://code.visualstudio.com/Download 2…

终结电源反接与压降损耗:理想二极管控制器深度解析

理想二极管控制器驱动外部 NMOS实现超低正向压降和可防反向电流特性,广泛应用在有大电流高功率、电源输入防反需求场景中。那理想二极管控制IC内部到底是怎么工作的,怎么实现这些特性的呢?本文以LM74700-Q1为例介绍尝试解答上述问题。 一 理…

开源版 PyMOL 如何绘制 新冠病毒 分子结构?

参阅:用生物知识解读“新冠病毒”, 百度网盘下载 提取码:csub pip show pymol 简介: PyMOL是一个Python增强的分子图形工具。它擅长蛋白质、小分子、密度、表面和轨迹的3D可视化。它还包括分子编辑、射线追踪和动画。 先从 www.python.org…

PyTorch——DataLoader的使用

batch_size, drop_last 的用法 shuffle shuffleTrue 各批次训练的图像不一样 shuffleFalse 在第156step顺序一致

【前端】CSS面试八股

网上现有资料已经很丰富了,我挑了些自己押面试题时总结过的来写。 Q:回流和重绘 A: 回流reflow:计算元素的几何,引发layout重绘repaint:更新元素可见样式,引发paint 回流的成本比重绘高得多&…

【笔记】在 MSYS2(MINGW64)中安装 python-maturin 的记录

#工作记录 📌 安装背景 操作系统:MSYS2 MINGW64当前时间:2025年6月1日Python 版本:3.12(通过 pacman 安装)目标工具:maturin —— 用于构建和发布 Rust 编写的 Python 包 🛠️ 安装…

华为IP(7)

端口隔离技术 产生的背景 1.以太交换网络中为了实现报文之间的二层隔离,用户通常将不同的端口加入不同的VLAN,实现二层广播域的隔离。 2.大型网络中,业务需求种类繁多,只通过VLAN实现二层隔离,会浪费有限的VLAN资源…

JS基础内容1

JS基础内容1目录 打印方式关联方式延迟加载变量声明数组对象补充:json格式 函数函数的分类函数在对象和数组中的使用函数的交互调用 打印方式 1、弹窗打印 alert(arr) 2、控制台打印 console.log() 以 html 的形式打印 console.dir() 将 document 当成 对象 打印 …

高考报名人数8年来首降背后 教育需求变化探因

教育部近日公布,今年高考报名人数为1335万人,比去年的1342万略微下降7万人,这是自2018年以来首次出现下降。2025年高考考生主要对应的是2006年和2007年的新生儿。2007年出生人口数量为1594万,比2006年增长了10万,但为何考生数量会下降呢?这不能简单以数字对比来解释。例如…