当前位置: 首页 > article >正文

人工智能通识课:Pandas 基础

在学习 Pandas 时初学者最容易遇到的困难并不是某个函数不会写而是不清楚这些函数在整个数据处理流程中各自承担什么任务。如果将 Pandas 仅理解为分散的 API知识点容易显得零碎如果将其放回真实任务链中则更容易把握其整体作用。Pandas 的常见工作流程大致如下1把原始数据整理成 DataFrame2从整张表中选出当前真正需要的数据3把不规范的数据清洗到可分析状态4从表格中提取统计结果5在必要时重塑表格或整合多张表6从文件读入数据并把结果重新导出7把分析结果转化为更直观的图形表达这七个环节并不是彼此孤立的而是构成了一条完整的数据处理路径。一、任务起点把原始数据整理成 DataFrame数据分析的起点是将原始数据整理为 Pandas 可以统一处理的表格对象即 DataFrame。这一阶段的核心任务是将原始数据整理为结构清楚、字段明确且可继续操作的数据表。这一阶段的重点不在复杂分析而在于建立对表格结构的基本认识• 行对应什么• 列对应什么• 行索引与列标签分别起什么作用• 初步查看数据类型Data Type是否符合预期示例构建学生成绩表 scoresimport pandas as pd students [ {学号: S001, 姓名: 张三, 班级: C01, 语文: 88, 数学: 92, 英语: 85}, {学号: S002, 姓名: 李四, 班级: C01, 语文: 76, 数学: 81, 英语: 79}, {学号: S003, 姓名: 王五, 班级: C02, 语文: 90, 数学: 87, 英语: 93}, {学号: S004, 姓名: 赵六, 班级: C02, 语文: 85, 数学: 89, 英语: 88}, {学号: S005, 姓名: 孙七, 班级: C03, 语文: 91, 数学: 95, 英语: 90}, {学号: S006, 姓名: 周八, 班级: C03, 语文: 78, 数学: 84, 英语: 80}] scores pd.DataFrame(students)print(scores)输出学号 姓名 班级 语文 数学 英语0 S001 张三 C01 88 92 851 S002 李四 C01 76 81 792 S003 王五 C02 90 87 933 S004 赵六 C02 85 89 884 S005 孙七 C03 91 95 905 S006 周八 C03 78 84 80完成这一阶段之后应当能够• 已得到一张 DataFrame• 已能看懂其行、列、索引与标签• 已能查看其前几行、整体形状与数据类型• 已为后续选取、清洗、统计奠定基础延伸阅读《Pandas 操作指南一DataFrame 的构建与表格数据组织》二、任务聚焦选出真正需要的数据一张完整数据表并不等于“当前就要全部使用”。在实际任务中分析者通常只关心表中的某一部分• 某几列• 某几行• 某个标签范围• 某个位置区间• 满足某些条件的记录因此这一阶段的核心任务是先从整张表中选出真正需要的数据。重点不是“改数据”而是“缩小分析范围”。示例 1选取关键列print(scores[[学号, 姓名, 数学]])示例 2按标签选取print(scores.loc[0:2, [姓名, 数学, 英语]])示例 3按位置选取print(scores.iloc[0:3, 1:5])示例 4按条件筛选print(scores[scores[数学] 90])示例 5处理多个筛选条件excellent scores[ (scores[班级] C03) (scores[数学] 90)]print(excellent)完成这一阶段之后应当能够• 按列选取分析对象• 按行选取记录范围• 区分 .loc[] 与 .iloc[]• 使用布尔条件筛选数据• 组合多个筛选条件也就是说到了这一阶段已经不再是“面对整张表”而是“已经拿到当前任务真正关心的数据子集”。延伸阅读《Pandas 操作指南二数据选取与条件筛选》三、任务准备把数据清洗到可分析状态能够选出数据并不意味着数据已经可以直接分析。现实中的原始数据往往还存在大量问题例如• 缺失值Missing Value• 无效值或异常内容• 重复记录Duplicate Data• 类型不一致• 日期、数字格式不统一因此此阶段的核心任务是把已经选出的数据整理为结构一致、类型合理、格式统一、能够参与分析的数据。这一阶段的任务是将可读取的数据进一步整理为可分析的数据。示例清洗存在问题的成绩表raw_scores pd.DataFrame([ {学号: S001, 姓名: 张三, 班级: C01, 考试日期: 2025/09/01, 语文: 88, 数学: 92, 英语: 85}, {学号: S002, 姓名: 李四, 班级: C01, 考试日期: 2025-09-01, 语文: None, 数学: 81, 英语: 79}, {学号: S003, 姓名: 王五, 班级: C02, 考试日期: 2025-09-01, 语文: 90, 数学: 缺考, 英语: 93}, {学号: S004, 姓名: 赵六, 班级: C02, 考试日期: 2025.09.01, 语文: 85, 数学: 89, 英语: 88}, {学号: S004, 姓名: 赵六, 班级: C02, 考试日期: 2025.09.01, 语文: 85, 数学: 89, 英语: 88}]) clean_scores raw_scores.copy() # 缺失值处理clean_scores[语文] clean_scores[语文].fillna(clean_scores[语文].mean()) # 无效值替换clean_scores[数学] clean_scores[数学].replace(缺考, pd.NA) # 类型修正clean_scores[数学] pd.to_numeric(clean_scores[数学], errorscoerce)clean_scores[考试日期] pd.to_datetime(clean_scores[考试日期], errorscoerce) # 去重clean_scores clean_scores.drop_duplicates() print(clean_scores)完成这一阶段之后应当能够• 识别并处理缺失值• 替换无效内容• 把文本列转为数值或时间类型• 删除重复记录• 统一数字与时间格式• 让表格进入“可分析状态”也就是说这一步并不是附加修饰而是保证分析结果可靠性的基础。延伸阅读《Pandas 操作指南三数据清洗与预处理》四、任务求解从表格中提取统计结果当前的数据已经具备可分析条件接下来就进入真正的分析阶段。分析并不只是“看数据”而是要从数据中提取出可以解释的结果。这一阶段的核心任务是把分散在表格中的原始数值转换为整体概况、类别分布、基础指标与分组结论。示例 1快速把握整体概况print(scores.describe())示例 2统计类别分布print(scores[班级].value_counts())示例 3计算基础指标print(scores[数学].mean())print(scores[数学].max())print(scores[数学].min())示例 4按类别分组分析print(scores.groupby(班级)[[语文, 数学, 英语]].mean())示例 5汇总多个统计量print( scores.groupby(班级)[数学].agg([mean, min, max, count]))完成这一阶段之后应当能够• 使用 describe() 快速把握数值概况• 使用 value_counts() 统计类别分布• 计算均值、最大值、最小值、中位数等基础指标• 使用 groupby() 观察类别间差异• 使用 agg() 汇总多个统计结果经过上述处理表格中的数据已经从“记录集合”转化为“可解释结果”。延伸阅读《Pandas 操作指南四统计分析与结果汇总》五、任务扩展重塑表格并整合多张数据表并非所有分析任务都能直接在当前表格结构上完成。有时问题出在“单张表结构不适合分析”有时问题出在“信息分散在多张表中”。因此这一阶段的核心任务是当表结构不合适或数据分散在多张表里时先重塑表格或整合数据再进行分析。示例 1把宽表转换成长表long_scores scores.melt( id_vars[学号, 姓名, 班级], value_vars[语文, 数学, 英语], var_name科目, value_name成绩) print(long_scores)示例 2生成更适合分析的透视表summary long_scores.pivot_table( index班级, columns科目, values成绩, aggfuncmean) print(summary)示例 3按关键字段合并多张表classes pd.DataFrame([ {班级: C01, 班主任: 刘老师}, {班级: C02, 班主任: 陈老师}, {班级: C03, 班主任: 王老师}]) scores_with_class pd.merge(scores, classes, on班级)print(scores_with_class)示例 4按学号整合社团信息clubs pd.DataFrame([ {学号: S001, 社团: 篮球社}, {学号: S003, 社团: 文学社}, {学号: S005, 社团: 科技社}]) scores_with_club pd.merge(scores, clubs, on学号, howleft)print(scores_with_club)完成这一阶段之后应当能够• 理解长表与宽表• 使用 melt() 重塑单张表• 使用 pivot_table() 生成统计透视表• 使用 merge() 按关键字段合并多张表• 区分 merge()、join() 与 concat() 的适用场景经过上述处理数据处理不再局限于“单表内部操作”而是进入更完整的数据组织阶段。延伸阅读《Pandas 操作指南五表格重塑与数据整合》六、任务衔接读写文件与数据输入输出在前面的示例中数据多通过代码直接构造这是为了便于教学。但在真实环境中数据通常来自文件或外部系统分析结果也需要重新输出。因此这一阶段的核心任务是把 Pandas 与真实的数据输入输出场景连接起来。示例 1读取 CSV 文件import pandas as pd scores pd.read_csv(scores.csv)print(scores.head())示例 2读取 Excel 文件scores pd.read_excel(scores.xlsx, sheet_name成绩表)print(scores.head())示例 3导出清洗结果scores.to_csv(scores_cleaned.csv, indexFalse)scores.to_excel(scores_cleaned.xlsx, indexFalse)示例 4处理表头与索引问题scores pd.read_csv( scores.csv, headerNone, names[学号, 姓名, 班级, 语文, 数学, 英语])scores pd.read_csv(scores.csv, index_col学号)完成这一阶段之后应当能够• 使用 read_csv() 读取文本数据文件• 使用 read_excel() 读取电子表格文件• 使用 to_csv()、to_excel() 导出结果• 处理表头、索引与编码问题• 理解 Pandas 在真实数据输入与结果输出流程中的中间作用也就是说Pandas 已经不再只是“代码中的表格对象”而是现实数据流程中的中间枢纽。延伸阅读《Pandas 操作指南六文件读写》七、任务表达把分析结果展示出来完成统计之后分析任务还没有真正结束。因为分析的目标不仅是“得到结果”还包括“把结果清楚表达出来”。这一阶段的核心任务是把统计结果转化为更直观的图形表达。Pandas 的内置绘图接口基于 Matplotlib因此运行相关示例前应确保环境中已安装 Matplotlib。示例 1直接从表格生成图形scores[数学].plot()注意在交互环境中这类代码通常可直接显示图形在普通脚本环境中往往还需配合 matplotlib.pyplot.show()。示例 2比较数量大小规律scores.plot(x姓名, y数学, kindbar)示例 3展示类别分布与占比scores[班级].value_counts().plot(kindbar)scores[班级].value_counts().plot(kindpie, autopct%.1f%%)示例 4观察分布特征scores[数学].plot(kindhist, bins5)scores[[语文, 数学, 英语]].plot(kindbox)示例 5展示分组结果class_mean scores.groupby(班级)[数学].mean()class_mean.plot(kindbar)完成这一阶段之后应当能够• 使用 plot() 从 DataFrame 或 Series 快速生成图形• 根据任务选择柱状图、折线图、饼图、直方图和箱线图• 把类别分布、数值变化、分布特征和分组结果图形化• 理解 Pandas 绘图与 Matplotlib、Seaborn 的关系经过上述处理分析流程中的“结果表达”也建立起来了。延伸阅读《Pandas 操作指南七数据可视化与结果展示》《Pandas 应用实例多工具协同与数据可视化》 小结本次课以任务驱动方式梳理了 Pandas 的核心工作链先构建 DataFrame再完成数据选取、清洗、统计、重塑与整合、文件读写与结果展示。掌握这条处理路径比零散记忆函数更重要也更有助于形成完整而稳定的表格数据处理能力。“点赞有美意赞赏是鼓励”

相关文章:

人工智能通识课:Pandas 基础

在学习 Pandas 时,初学者最容易遇到的困难,并不是某个函数不会写,而是不清楚这些函数在整个数据处理流程中各自承担什么任务。如果将 Pandas 仅理解为分散的 API,知识点容易显得零碎;如果将其放回真实任务链中&#xf…...

高效备战2026年上海初中古诗文大会【多选题】:背熟这份高频考点

今天距离2026年上海初中古诗文大会启动还有2个多月(通常6月底7月初启动,发布比赛方案和流程),正式比赛还有5个多月(通常10月初开始,分为初选、复选、决选三轮)。现在就读五年级到八年级的上海的…...

有限状态机进阶指南:5个HFSM设计模式解决复杂业务逻辑

有限状态机进阶指南:5个HFSM设计模式解决复杂业务逻辑 在物联网设备控制系统中,一个智能恒温器的状态管理曾让我头疼不已——它需要同时处理温度调节模式(制冷/制热/自动)、风速档位(高/中/低)、节能状态&a…...

OpenClaw故障排查大全:千问3.5-27B接口连接7类错误解决

OpenClaw故障排查大全:千问3.5-27B接口连接7类错误解决 1. 为什么需要这份排查指南 上周我在本地部署千问3.5-27B模型时,OpenClaw死活连不上模型接口。那天晚上我对着ECONNREFUSED错误折腾到凌晨两点,试了各种方法才发现是网关端口被占用了…...

MIT AI工具一分钟预览高度逼真3D打印成品外观,所见即所得

从电影道具到医疗设备,3D打印正在快速改变我们制造功能原型的方式。然而,大多数打印软件生成的预览只关注结构路径,忽略了颜色、光泽、纹理等外观要素,导致用户常常需要反复试印。根据3D科学谷的市场观察,MIT和普林斯顿…...

【PyCon 2025闭门分享精要】:Python 3.14 JIT底层调度器深度调优——用3行代码撬动47% CPU利用率提升

第一章:Python 3.14 JIT编译器性能调优配置总览Python 3.14 引入了实验性内置 JIT(Just-In-Time)编译器,基于 Pyston 的优化后端重构,支持函数级动态编译与类型特化。该 JIT 默认处于禁用状态,需通过环境变…...

**为生命按下“刷新键”:当细胞科技成为健康管理的新日常**

清晨六点半,张教授在太湖边完成了他的五公里慢跑。这位年近六十的物理学博导,面色红润,步伐稳健,让许多年轻同事都自叹不如。朋友们常打趣问他保养秘诀,他总是笑笑说:“不过是尊重科学,提前管理…...

spring-ai 第六模型介绍-聊天模型

spring-ai 第六模型介绍-聊天模型 官网 源码示例 spring-ai 第六模型介绍-聊天模型 官网 利用了预训练的语言模型,例如 GPT(生成型预训练变换器),以在自然语言中生成类似人类的响应 spring-ai网址【https://docs.spring.io/spri…...

pytorch基础入门day01

对pytorch的张量创建:#张量:与numpy相似(tensor) # 分为维度,形状,数据类型# 张量的创建 import torch# 创建一个2*3的全0张量 atorch.zeros(2,3) print(a)# one torch btorch.ones(2,3)# random torch ctorch.randn(2,3)# 从numpy中创建张量 import numpy as np n…...

Claude Code 权限 / 安全审查调用流程图

Claude Code 权限 / 安全审查调用流程图 这份文档的目标不是“介绍功能”,而是帮助你 复刻 Claude Code 的权限判定链路 到你们自己的手机 Agent 里。 重点回答 4 个问题: 一个 action 从模型产生到真正执行,中间经过了哪些关卡? 哪些地方是 确定性规则,哪些地方会 请求…...

智慧农业草莓成熟度识别 基于cnn的YOLOv11深度学习 智慧农业草莓成熟度目标检测系统 草莓识别系统(数据集使用 YOLOv11 进行草莓成熟度计数与检测 注意:此模块是在以下资源的+模型+界面)

使用 YOLOv11 进行草莓成熟度计数与检测 注意:此模块是在以下资源的帮助下完成的:Detection_image.png1. 代码库中每个 Notebook 的说明Dataset split NB: 此 Notebook 用于将原始的 3000 张图片按 0.8、0.1 和 0.1 的比例分为训练集、验证集和测试集。N…...

OpenClaw日志分析:千问3.5-35B-A3B-FP8任务执行效率优化

OpenClaw日志分析:千问3.5-35B-A3B-FP8任务执行效率优化 1. 为什么需要关注OpenClaw的任务执行效率 上周我在本地部署了OpenClaw,并接入千问3.5-35B-A3B-FP8模型进行自动化任务测试。最初几天运行还算顺利,但随着任务复杂度增加&#xff0c…...

半监督3D医学图像分割(四):URPC在鼻咽癌GTV分割中的高效应用

1. 为什么URPC在鼻咽癌GTV分割中表现突出 鼻咽癌肿瘤靶区(GTV)分割是放疗规划中的关键步骤,传统方法依赖医生手动勾画,耗时且易受主观影响。URPC(Uncertainty Rectified Pyramid Consistency)作为半监督3D医…...

单细胞测序实战:从原始数据到高质量细胞图谱的R/Seurat预处理全流程

1. 单细胞测序入门:为什么预处理如此重要? 第一次接触单细胞测序数据时,我盯着电脑屏幕上密密麻麻的基因表达矩阵发愣——这堆数字怎么就能变成漂亮的UMAP聚类图?后来才明白,数据预处理就是搭建这座桥梁的关键工序。简…...

保姆级教程:用PyTorch 1.13+全卷积网络搞定MSTAR SAR图像分类(附完整代码)

从零构建PyTorch全卷积网络实现MSTAR SAR图像分类实战指南 当第一次接触MSTAR数据集时,很多开发者会被其特殊的灰度SAR图像特性所困扰。与常规RGB图像不同,SAR图像具有独特的散射特性和成像机制,这给传统计算机视觉方法带来了挑战。本文将带你…...

ComfyUI实战:Qwen-Image三大ControlNet方案深度评测与选型指南

1. Qwen-Image ControlNet方案全景概览 第一次在ComfyUI里看到Qwen-Image的ControlNet选项时,我对着三套方案发了半小时呆——就像站在自助餐厅里面对琳琅满目的菜品,每样都想尝却不知从哪下手。经过两周的密集测试,终于摸清了这些方案的脾性…...

避坑指南:MediaPipe安装常见报错解决方案(附虚拟环境配置技巧)

MediaPipe实战避坑手册:从环境配置到高效开发的完整指南 在计算机视觉和机器学习领域,MediaPipe作为Google开源的多媒体处理框架,因其强大的实时感知能力和跨平台特性而备受开发者青睐。然而,许多开发者在初次接触MediaPipe时&…...

存算分离,性能跃升:实现查询效率再提升60%

概述 盖雅在腾讯云 TCHouse-D 2.0 基础上无缝升级至 3.0 版本,依托其全新存算分离架构、软硬结合的资源隔离能力与优化的查询引擎,实现了数仓性能与运维效率的双重飞跃。通过原生支持的弹性资源调度,精准匹配月结等高并发峰值需求&#xff0…...

django基于深度学习的淘宝用户购物可视化与行为预测系统设计_3jf982vi_c024

前言在数字经济 与电商行业高速发展的背景下,传统商品销售行业面临数据处理滞后、决策缺乏科学依据等挑战。企业依赖人工统计与经验判断的方式,难以应对海量交易数据带来的复杂性,导致资源配置效率低下、市场竞争力下降。本系统基于Python、D…...

Bugku CTF: Exploiting LFI Vulnerabilities in Multi-Language Web Apps

1. 理解LFI漏洞的本质 本地文件包含(Local File Inclusion,简称LFI)是Web安全中常见的漏洞类型,它允许攻击者通过精心构造的输入参数读取服务器上的敏感文件。这种漏洞通常出现在动态包含文件的功能中,比如PHP的includ…...

MSYS2安装教程

https://blog.csdn.net/yeeeee_yee/article/details/145635436...

django基于深度学习的音乐推荐系统_7182nd2n_zl035

前言随着数字音乐时代的到来,人们可以轻松访问数百万首歌曲。然而,如何在海量音乐中找到自己喜欢的音乐成为了一个挑战。基于Django框架和深度学习的音乐推荐系统正是为了解决这一问题而诞生。该系统通过深度学习技术分析用户的历史行为和偏好&#xff0…...

SolidWorks 2019 + Fusion 360:手把手教你搞定复杂机械臂模型的URDF导出(附开源模型)

SolidWorks与Fusion 360协同工作流:机械臂模型URDF导出实战指南 当你在GitHub上发现一个设计精良的六轴机械臂模型,却因为格式兼容性问题无法直接使用时,这种挫败感每个机器人开发者都深有体会。上周我就遇到了这样的情况——一个基于Gluon架…...

OpenClaw配置备份:Qwen3-14b_int4_awq环境迁移与恢复指南

OpenClaw配置备份:Qwen3-14b_int4_awq环境迁移与恢复指南 1. 为什么需要备份OpenClaw配置 上周我经历了一次痛苦的教训——因为系统重装,丢失了精心调校的OpenClaw配置。那些花了几周时间调试的模型参数、飞书机器人集成设置、自定义技能模块全部归零。…...

芯片制造中的3-sigma到底有多重要?从良率到可靠性全解析

芯片制造中的3-sigma到底有多重要?从良率到可靠性全解析 在半导体行业,每一片晶圆都承载着数以亿计的晶体管,而每个晶体管的性能波动都可能影响最终产品的良率和可靠性。想象一下,当你在使用智能手机时,是否曾思考过为…...

PLC立体车库智能仿真系统:博途V15 3×2车库模型,西门子PLC控制,触摸屏操作,自动出入...

PLC立体车库智能仿真 博途V15 32立体车库 西门子1200PLC 触摸屏仿真 不需要实物 自带人机界面 小车上下行有电梯效果 每一个程序段都有注释 FC块标准化编写 自带变频器输出也可以仿真 现在拥有自动出入仓库的功能 IO表已列出最近在搞的32立体车库仿真项目挺有意思,用…...

HY-Motion 1.0保姆级教程:从零配置GPU环境生成文生3D动作

HY-Motion 1.0保姆级教程:从零配置GPU环境生成文生3D动作 想用一句话就让3D角色动起来吗?比如,输入“一个人从椅子上站起来,然后伸展双臂”,电脑就能自动生成一段流畅、自然的3D骨骼动画。这听起来像是未来科技&#…...

原生 JS 实现图片预览上传组件:多图上传 + 拖拽上传 + 裁剪预览 + 进度显示(附完整源码)

前言图片上传是前端开发中高频且核心的功能场景,如头像上传、素材管理、表单提交等。本文基于原生 HTMLCSSJavaScript 实现一套企业级图片预览上传组件,包含多图选择、拖拽上传、实时预览、图片裁剪、上传进度显示、文件大小 / 格式校验等功能&#xff0…...

反向海淘商家必看!精细拍照服务,帮你降本留客不踩坑

做反向海淘生意的商家都懂,最头疼的莫过于用户投诉与跨境退货——海外用户担心货不对版不敢下单,下单后因实物与图片不符发起退货,高额跨境运费、人力成本,不仅压缩利润,还会拉低店铺口碑,甚至流失核心客群…...

GLM-4V-9B惊艳效果展示:电路板图元器件识别+故障点定位+维修指引生成

GLM-4V-9B惊艳效果展示:电路板图元器件识别故障点定位维修指引生成 安全声明:本文仅展示AI技术能力,所有电路板图像均为演示用途,不涉及任何实际设备或敏感信息 1. 项目概述与核心能力 GLM-4V-9B多模态大模型在工业视觉检测领域展…...