day-036-Pandas入门
Day 36Pandas 入门——Series 与 DataFrameNumPy 处理的是纯数字数组现实数据往往是表格——每列有不同类型还有列名。Pandas 就是为此而生的。今天学 Pandas 的两个核心数据结构。一、Pandas 是什么PandasPython Data Analysis Library是 Python 中最常用的数据分析库基于 NumPy 构建。pipinstallpandasimportpandasaspd# 约定俗成别名两大核心数据结构Series一列数据带标签像带索引的 NumPy 数组DataFrame多列数据的表格像 Excel 工作表或 SQL 表二、Series——带标签的一维数据importpandasaspdimportnumpyasnp# 从列表创建 Seriesspd.Series([85,92,78,95])print(s)# 0 85# 1 92# 2 78# 3 95# dtype: int64# 指定索引gradespd.Series([85,92,78,95],index[小明,小红,小刚,小丽],name成绩)print(grades)# 小明 85# 小红 92# 小刚 78# 小丽 95# Name: 成绩, dtype: int64# 像字典一样访问print(grades[小明])# 85print(grades[[小明,小丽]])# 选多个# 小明 85# 小丽 95# Series 的属性print(grades.values)# NumPy 数组 [85 92 78 95]print(grades.index)# Index([小明, 小红, 小刚, 小丽])print(grades.dtype)# int64Series 的运算——和 NumPy 一样方便print(grades5)# 每人加5分print(grades[grades80])# 筛选 80 的学生print(grades.mean())# 87.5print(grades.describe())# 一键统计摘要# count 4.000000# mean 87.500000# std 7.549834# min 78.000000# max 95.000000三、DataFrame——表格数据的主力DataFrame 可以理解为多个 Series 的组合每列可以是不同类型。# 从字典创建 DataFramedata{姓名:[小明,小红,小刚,小丽],年龄:[18,19,18,20],城市:[北京,上海,广州,深圳],成绩:[85,92,78,95],}dfpd.DataFrame(data)print(df)# 姓名 年龄 城市 成绩# 0 小明 18 北京 85# 1 小红 19 上海 92# 2 小刚 18 广州 78# 3 小丽 20 深圳 95DataFrame 的基本信息print(df.shape)# (4, 4) 行数, 列数print(df.columns)# Index([姓名, 年龄, 城市, 成绩])print(df.index)# RangeIndex(start0, stop4, step1)print(df.dtypes)# 每列的数据类型# 姓名 object# 年龄 int64# 城市 object# 成绩 int64print(df.info())# 综合信息print(df.describe())# 数值列的统计摘要自动跳过非数值列# 年龄 成绩# count 4.0 4.00# mean 18.8 87.50# std 1.0 7.55# min 18.0 78.00# max 20.0 95.00四、DataFrame 的索引与选择这是 Pandas 最常用但容易混淆的部分# 方式1df[列名] —— 选一列print(df[姓名])# 返回 Seriesprint(df[[姓名,成绩]])# 选多列返回 DataFrame# 方式2df.loc[行标签, 列标签] —— 按标签选print(df.loc[0])# 第一行Seriesprint(df.loc[0,姓名])# 第一行的姓名单个值print(df.loc[0:2,[姓名,成绩]])# 0-2行姓名和成绩列# 方式3df.iloc[行位置, 列位置] —— 按位置选像 NumPyprint(df.iloc[0,0])# 第一行第一列 → 小明print(df.iloc[:3,[0,3]])# 前3行第0和第3列# 方式4布尔索引print(df[df[成绩]85])# 成绩 ≥ 85 的行记忆口诀df[列名]—— 取列df.loc[行, 列]—— 按标签名df.iloc[行, 列]—— 按位置编号五、添加和删除列/行# 添加列df[及格]df[成绩]60df[成绩等级]pd.cut(df[成绩],bins[0,60,80,90,100],labels[D,C,B,A])print(df)# 删除列dfdf.drop(及格,axis1)# axis1 表示列# 添加行new_rowpd.Series({姓名:小王,年龄:19,城市:杭州,成绩:88})dfpd.concat([df,pd.DataFrame([new_row])],ignore_indexTrue)# 删除行dfdf[df[姓名]!小刚]# 删掉小刚# 或 df df.drop(2) # 删掉索引为2的行六、实战——学生成绩表# 创建模拟数据dfpd.DataFrame({姓名:[小明,小红,小刚,小丽,小王],语文:[85,92,78,95,88],数学:[90,88,82,91,86],英语:[78,95,72,89,92],})# 添加总分和平均分列df[总分]df[语文]df[数学]df[英语]df[平均分]df[总分]/3df[平均分]df[平均分].round(1)# 按总分排序dfdf.sort_values(总分,ascendingFalse)# 添加排名df[排名]range(1,len(df)1)dfdf.reset_index(dropTrue)# 重置索引print(df)# 姓名 语文 数学 英语 总分 平均分 排名# 0 小丽 95 91 89 275 91.7 1# 1 小红 92 88 95 275 91.7 2# 2 小王 88 86 92 266 88.7 3# 3 小明 85 90 78 253 84.3 4# 4 小刚 78 82 72 232 77.3 5七、今日学习总结学习内容掌握情况一句话要点Series✅ 重点带索引的一维数组pd.Series(数据, index索引)DataFrame✅ 重点表格数据pd.DataFrame(字典)df[“列名”]✅ 重点取一列或多列df.loc[行, 列]✅ 重点按标签选取df.iloc[行, 列]✅ 重点按位置选取布尔索引✅ 重点df[df[成绩] 80]describe()✅ 了解一键统计摘要今日踩坑记录loc 和 iloc 的区别df.loc[0:2]包含索引2共3行df.iloc[0:2]不包含位置2共2行。loc 是标签切片iloc 是位置切片和 Python 切片一样左闭右开。df[列名]和df.列名的区别df.列名只有列名是合法 Python 标识符时可用。df[语文 成绩]这种带空格或中文的只能用方括号。修改 DataFrame 要重新赋值df.drop(列, axis1)不改变 df 本身要df df.drop(...)或传inplaceTrue。八、明天学什么今天创建了第一个 DataFrame明天学 Pandas 的数据读取——如何从 CSV、Excel、JSON 等外部文件中加载数据。Excel 能做的事Pandas 都能做——而且能自动化、处理更大数据、和其他工具无缝衔接。DataFrame 是你数据分析的工作台。第36天打卡完成。明天见本系列是个人学习笔记如有错误欢迎在评论区指正交流。

相关新闻

解决Docker Desktop WSL2磁盘空间不释放问题

解决Docker Desktop WSL2磁盘空间不释放问题

1. 问题现象与背景分析在Windows系统上使用Docker Desktop配合WSL2后端运行时,用户经常遇到一个棘手问题:删除容器后,WSL2分配的磁盘空间并未自动释放。随着容器创建和删除次数的增加,WSL2虚拟硬盘文件(ext4.vhdx&…

2026/7/22 4:00:21阅读更多 →
网络符号‘5.31‘的传播机制与社会影响分析

网络符号‘5.31‘的传播机制与社会影响分析

1. "5.31"现象的社会观察 "5.31"这个日期数字组合在近年来的网络语境中逐渐演变成一个具有特殊含义的符号。最初它只是日历上一个普通的日子,但随着网络文化的发酵,这个日期被赋予了更多象征意义。从我的观察来看,这种现…

2026/7/22 4:00:21阅读更多 →
CentOS防火墙管理:firewalld与iptables端口开放指南

CentOS防火墙管理:firewalld与iptables端口开放指南

1. 理解端口开放的基本概念在CentOS系统中开放端口是系统管理员和开发人员的日常工作之一。端口是网络通信的端点,每个网络服务都需要通过特定的端口与外界通信。理解端口开放的本质,有助于我们更安全、高效地管理系统。端口开放实际上是在操作系统的防火…

2026/7/22 4:00:21阅读更多 →
《奇迹mu荣耀出征》|官方指南 1.03H原汁原味怀旧服

《奇迹mu荣耀出征》|官方指南 1.03H原汁原味怀旧服

游戏简介|正版1.03H复古奇迹 纯净无魔改 《荣耀出征》又名《奇迹MU1.03H复古荣耀服》《罗兰百人攻城怀旧奇迹》,是由安徽游昕联合忆往游戏正版运营的复古魔幻MMORPG怀旧手游。游戏严格复刻经典端游1.03H原版全部内容,无数值魔改、无浮夸特效…

2026/7/22 4:46:33阅读更多 →
基于ResNet的胸部X光影像识别系统开发实践

基于ResNet的胸部X光影像识别系统开发实践

1. 项目概述胸部X光影像识别一直是医疗AI领域的热门研究方向。作为一名长期从事医学影像分析的从业者,我最近完成了一个基于ResNet算法的胸部X光影像识别系统,这个项目整合了带标签数据集、模型训练权重以及基于PyQt5的可视化界面,为医生和研…

2026/7/22 4:46:33阅读更多 →
上海工业一站式涂装服务商:上海善屹涂装,多工艺复合喷涂解决高端制造表面处理痛点

上海工业一站式涂装服务商:上海善屹涂装,多工艺复合喷涂解决高端制造表面处理痛点

一、上海本地涂装市场现状:制造企业选择喷涂加工厂的核心痛点2026 年长三角高端制造产业持续扩容,新能源汽车、精密医疗设备、户外工程机械、不锈钢泵阀金属构件出货量逐年上涨,金属表面涂装不再只是简单上色,而是决定产品使用寿命…

2026/7/22 4:46:33阅读更多 →
03-协议基础02:USB架构与设备交互

03-协议基础02:USB架构与设备交互

文章目录 概述 一、USB拓扑结构回顾 1.1 Root Hub与External Hub 二、USB设备状态迁移 2.1 状态机 2.2 状态详解 2.3 从连接到可用 三、USB设备硬件识别 3.1 速度分类 3.2 全速设备识别 3.3 低速设备识别 3.4 高速设备识别(Chirp协商) 3.5 高速协商三种情况 四、USB3.0设备识别…

2026/7/22 4:46:33阅读更多 →
Docker快速入门:30分钟掌握容器化部署

Docker快速入门:30分钟掌握容器化部署

1. Docker 快速入门实操指南 作为一名在容器化领域摸爬滚打多年的老手,我经常被问到"如何快速上手Docker"。今天就用最直白的方式,带你在30分钟内完成从安装到运行第一个容器的完整流程。不同于官方文档的学院派风格,这里只讲真正…

2026/7/22 4:46:31阅读更多 →
告别数据孤岛与AI“水土不服”:金仓多模融合时序库如何让数据真正服务于业务

告别数据孤岛与AI“水土不服”:金仓多模融合时序库如何让数据真正服务于业务

当AI走进工业、能源等真实业务场景,常常会“水土不服”。一个简单的设备异常判断,AI需要的不仅是当下的读数,更需要理解设备过去的状态变化、关联设备的同步信息,甚至要结合维修记录和故障知识库。这些分散在不同系统中的数据&…

2026/7/22 4:44:31阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 0:53:59阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 0:53:59阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 0:53:59阅读更多 →
中小企业小程序开发公司怎么选:预算、上手和售后避坑指南

中小企业小程序开发公司怎么选:预算、上手和售后避坑指南

中小企业做小程序,最常见的矛盾是预算有限,但又不希望功能太单薄;没有技术团队,但又希望后续能自己运营;想快速上线,又担心隐性收费和售后失联。选型时如果只看“低价套餐”或“案例数量”,很容…

2026/7/22 0:01:17阅读更多 →
GEO优化如何沉淀长期内容资产?广拓时代谈AI搜索时代的内容ROI

GEO优化如何沉淀长期内容资产?广拓时代谈AI搜索时代的内容ROI

企业做营销,最怕钱花完了,资产没有留下。 效果广告能带来一段时间的曝光,但预算停止后,流量往往也随之停止。短视频内容可能在几天内冲高,也可能很快沉下去。AI搜索时代,企业需要重新思考一个问题&#xff…

2026/7/22 0:01:17阅读更多 →
Agent 终态判定:何时该停止思考、给出最终回复

Agent 终态判定:何时该停止思考、给出最终回复

Agent 终态判定:何时该停止思考、给出最终回复 一、你的 Agent 在"再想想"的循环里绕了 12 轮,用户已经关窗口了 Agent 与人最大的区别是:人知道什么时候该停下来给答案,Agent 会一直"想"下去。你给 Agent 接…

2026/7/22 0:01:17阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/21 22:53:50阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/21 18:53:30阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/21 18:53:30阅读更多 →