尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Python全栈开发-第1章 Pandas数据处理实战

Python全栈开发-第1章 Pandas数据处理实战
📅 发布时间:2026/7/15 12:16:27

第一篇 · 数据分析与可视化

📊 第1章 Pandas数据处理实战

像Excel一样强大,但能处理百万行数据

1.1 DataFrame:你的数据工作台

从Series到DataFrame,掌握Pandas核心数据结构

如果把Pandas比作一把瑞士军刀,那DataFrame就是其中最大、最常用的刀片。你可以把DataFrame想象成一张Excel表格——有行、有列、有表头,还能对每一列做各种运算。但跟Excel不同的是,DataFrame能轻松处理上百万行的数据,而且速度飞快。

在深入DataFrame之前,我们先认识它的“弟弟”——Series。Series就像DataFrame中的一列,它是一个带标签的一维数组。你可以把它想成Excel中的某一列数据。

importpandasaspdimportnumpyasnp# ===== 创建Series =====scores=pd.Series([92,85,78,96,88],index=['小明','小红','小刚','小丽','小强'],name='数学成绩')print('=== Series示例 ===')print(scores)print(f'小明的成绩:{scores["小明"]}')# ===== 创建DataFrame =====df=pd.DataFrame({'姓名':['小明','小红','小刚','小丽','小强'],'数学':[92,85,78,96,88],'语文':[88,92,81,90,85],'英语':[90,87,93,85,91],'班级':['一班','一班','二班','二班','二班']})print('\n=== DataFrame示例 ===')print(df)print(f'\n数据类型:\n{df.dtypes}')print(f'\n表格形状:{df.shape}')

💡 技巧

快速创建DataFrame的捷径:如果你已经有一个字典,可以直接用pd.DataFrame(字典)转换。如果数据来自列表的列表,可以传入columns参数指定列名:
pd.DataFrame([[1,2],[3,4]], columns=['A','B'])

创建了DataFrame之后,我们需要“认识”它。就像拿到一张新报表,你首先要看它有多大、包含什么内容。Pandas提供了一系列**“侦察”方法**,帮你快速了解数据全貌:

importpandasaspd sales_df=pd.DataFrame({'日期':['2024-01-01','2024-01-02','2024-01-03','2024-01-04','2024-01-05','2024-01-06','2024-01-07'],'产品':['手机','笔记本','手机','平板','笔记本','手机','平板'],'销量':[15,8,12,6,10,18,7],'单价':[5999,8999,5999,3299,8999,5999,3299],'门店':['北京店','上海店','北京店','广州店','上海店','北京店','广州店']})print('=== 前3行 ===')print(sales_df.head(3))print('\n=== 后2行 ===')print(sales_df.tail(2))print('\n=== 数据概览 ===')sales_df.info()print('\n=== 统计摘要 ===')print(sales_df.describe())sales_df['销售额']=sales_df['销量']*sales_df['单价']print('\n=== 新增销售额列 ===')print(sales_df)

🔑 核心要点

核心知识点:

  • pd.Series= 一维带标签数组,类似Excel的一列
  • pd.DataFrame= 二维表格,类似一张Excel表
  • head(n)/tail(n):查看前/后n行
  • info():查看列名、数据类型、缺失值数量
  • describe():数值列的统计摘要
  • df.shape:返回(行数, 列数)

🧪 随堂测验

下面哪个方法可以查看DataFrame中每一列的数据类型和缺失值数量?

  • A. df.describe()
  • B. df.head()
  • C. df.info()
  • D. df.shape

答案解析:df.info() 会显示所有列的名称、数据类型(dtype)以及每列非空值的数量(由此可以推算缺失值数量)。describe()只给出数值列的统计摘要,head()只显示前几行数据,shape只返回行列数。

1.2 数据加载与探索

把文件里的数据“倒”进DataFrame

在真实工作中,你的数据不会凭空出现在代码里—它们通常藏在CSV文件、Excel表格、JSON文件甚至数据库中。Pandas就像一个万能的“数据漏斗”,能把各种格式的文件轻松“倒”进DataFrame中。

这一课,我们用一份电商订单数据来学习数据加载和初步探索。

importpandasaspdimportnumpyasnpfromioimportStringIO csv_data="""订单ID,客户,商品,数量,单价,日期,城市 1001,张三,iPhone 15,1,6999,2024-03-01,北京 1002,李四,MacBook Air,2,8999,2024-03-01,上海 1003,王五,iPhone 15,1,6999,2024-03-02,广州 1004,赵六,iPad Pro,3,6799,2024-03-02,北京 1005,张三,AirPods,2,1299,2024-03-03,北京 1006,孙七,MacBook Pro,1,14999,2024-03-03,深圳 1007,李四,iPhone 15,1,6999,2024-03-04,上海 1008,周八,iPad Pro,2,6799,2024-03-04,广州 1009,王五,AirPods,1,1299,2024-03-05,广州 1010,赵六,MacBook Air,1,8999,2024-03-05,北京"""df=pd.read_csv(StringIO(csv_data))print('=== 数据维度 ===')print(f'行数:{df.shape[0]}, 列数:{df.shape[1]}')print('\n=== 列数据类型 ===')print(df.dtypes)print('\n=== 数值列统计 ===')print(df[['数量','单价']].describe())print('\n=== 商品销量分布 ===')print(df['商品'].value_counts())print('\n=== 城市订单分布 ===')print(df['城市'].value_counts())print

相关新闻

  • 3大效率革命:ComfyUI效率节点终极指南,让AI工作流减少50%节点数
  • Cesium OGC- xyz服务教程
  • 终极Homebridge配置指南:解决HomeKit同步问题的5个关键步骤

最新新闻

  • 上海浪琴中国官方售后服务体系全攻略|官方网站权威公告(2026年7月最新) - 浪琴中国服务中心
  • Navicat 16/17 Mac版无限试用期重置终极指南:三种方法实现永久免费使用
  • Sketch Measure插件:UI设计师的终极标注与规范导出完整指南
  • ChatGPT停止序列设置终极指南:2024年Q2最新API行为变更预警(stop_sequences字段已悄然支持正则匹配雏形)
  • 2026 年杜集废铜回收 电缆电线回收 工业设备回收商家实测排名 - LYL仔仔
  • Windows更新卡住了?5分钟快速修复终极指南

日新闻

  • 告别启动盘残留:用Diskpart彻底清除U盘EFI分区与恢复完整空间
  • 2026 年宜春诚信的塑料缠绕膜厂家哪个好,缠绕膜背后的秘密:你不知道的成本陷阱 - 领域鉴赏官
  • Arch ECS 入门指南:10分钟掌握C#高性能数据驱动架构

周新闻

  • IX9104 PCIe5.0 高速交换芯片@ACP#完整规格 + 应用场景总结
  • Unity游戏集成Coze智能体:实现NPC智能对话与知识库联动
  • SAP EPIC 建行回单查询:从标准类CL_EPIC_EXAMPLE_CN_CCB_GHTD到Z类的5处关键修改

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号