头歌-Pandas基础-第1关:从字典到Series——构建高效数据处理基石

发布时间:2026/7/15 22:59:28

头歌-Pandas基础-第1关:从字典到Series——构建高效数据处理基石
1. 为什么需要从字典转向Series当你第一次接触Pandas时可能会疑惑Python自带的字典dict已经很好用了为什么还要学习Series我刚开始用Pandas时也有同样的困惑直到处理真实数据时才明白两者的差异。字典就像一本随意涂鸦的笔记本虽然能记录数据但缺乏结构化操作能力。比如你想计算所有值的平均值需要写循环data {A: 85, B: 90, C: 78} avg sum(data.values()) / len(data) # 需要手动计算而Series是专业的数据容器内置了数十种统计方法import pandas as pd s pd.Series(data) print(s.mean()) # 直接调用方法更关键的是Series有三大杀手锏向量化运算不用循环就能批量处理数据智能对齐不同Series运算时会自动按索引匹配缺失值处理自动处理NaN值避免程序崩溃举个例子当我们需要合并两个数据源时sales_q1 {苹果: 120, 香蕉: 80} sales_q2 {苹果: 150, 橙子: 60} # 字典需要手动处理 merged {} for k in set(sales_q1) | set(sales_q2): merged[k] sales_q1.get(k, 0) sales_q2.get(k, 0) # Series自动对齐 s1 pd.Series(sales_q1) s2 pd.Series(sales_q2) merged s1.add(s2, fill_value0)2. 创建Series的三种核心方法2.1 从列表创建这是最基础的创建方式适合已有结构化数据的情况temps [22.3, 24.5, 19.8, 21.6] s pd.Series(temps)默认会生成0-N的整数索引就像这样0 22.3 1 24.5 2 19.8 3 21.6 dtype: float64我经常用这种方式处理传感器数据。比如最近做的智能家居项目温度传感器每5分钟采集一次数据直接转成Series就能做时序列分析。2.2 从字典创建这是最符合直觉的方式键自动变成索引student_scores {张三: 85, 李四: 92, 王五: 78} scores pd.Series(student_scores)输出会保留字典的键值对应关系张三 85 李四 92 王五 78 dtype: int64踩坑提醒当字典键和index参数冲突时Pandas会优先采用index。比如pd.Series({A:1, B:2}, index[B,C])输出是B 2.0 C NaN # 原始字典没有C键2.3 从标量值创建当需要创建相同值的序列时s pd.Series(25, index[a,b,c])这在初始化数据时特别有用比如创建全为0的缓冲数组a 25 b 25 c 25 dtype: int643. Series的索引技巧大全3.1 基础索引和字典类似的键值访问s pd.Series([10,20,30], index[x,y,z]) print(s[y]) # 输出20但比字典更强的是切片功能print(s[x:z]) # 包含末端输出x 10 y 20 z 30 dtype: int643.2 位置索引有时候我们更关心数据的位置print(s.iloc[1]) # 输出20 print(s.iloc[0:2]) # 不包含末端3.3 布尔索引这是筛选数据的利器temps pd.Series([22, 25, 19, 28, 21]) print(temps[temps 23])输出1 25 3 28 dtype: int643.4 多级索引处理复杂数据时会用到index [(北京,2020), (北京,2021), (上海,2020)] data [2150, 2250, 1980] s pd.Series(data, indexpd.MultiIndex.from_tuples(index))现在可以这样查询print(s[北京, 2021]) # 输出22504. Series的实战应用案例4.1 数据清洗处理真实数据时经常遇到缺失值sales pd.Series({一月:150, 二月:None, 三月:180}) cleaned sales.fillna(sales.mean()) # 用均值填充缺失4.2 数据转换快速计算统计量print(sales.describe())输出包含计数、均值、标准差等count 2.000000 mean 165.000000 std 21.213203 min 150.000000 25% 157.500000 50% 165.000000 75% 172.500000 max 180.000000 dtype: float644.3 数据可视化一行代码生成图表sales.plot(kindbar, title月度销售额)5. 性能优化技巧当处理大型Series时这些技巧可以提升10倍性能指定dtype避免自动类型推断的开销pd.Series([1,2,3], dtypeint8)使用NumPy数组比列表更快import numpy as np pd.Series(np.arange(1000000))避免链式索引用loc代替多次索引s[s 5][s 10] # 不推荐s.loc[(s 5) (s 10)] # 推荐最近处理一个包含百万级温度数据的项目这些优化让处理时间从12秒降到了0.8秒。

相关新闻

分数阶微积分MATLAB+Simulink可运行实例:含函数源码与仿真模型

分数阶微积分MATLAB+Simulink可运行实例:含函数源码与仿真模型

2026/7/15 22:49:28

本文还有配套的精品资源,点击获取 简介:一套即开即用的分数阶微积分仿真资源,包含核心MATLAB函数new_fod.m和配套Simulink模型lie.mdl。new_fod.m支持任意实数阶次的微分或积分运算,可灵活设置阶次alpha、采样时间Ts和滤波器长…

卡美德生物科普Phosphatidylserine(磷脂酰丝氨酸)

卡美德生物科普Phosphatidylserine(磷脂酰丝氨酸)

2026/7/15 22:49:28

在人体细胞生物学与脂质代谢研究领域,磷脂酰丝氨酸(Phosphatidylserine,简称PS)是维持细胞膜结构与功能完整性的重要分子。作为一种天然存在的带负电荷的甘油磷脂,PS广泛分布于哺乳动物的细胞膜中,尤其在大…

卡美德生物科普PCSK9(前蛋白转化酶枯草溶菌素9)

卡美德生物科普PCSK9(前蛋白转化酶枯草溶菌素9)

2026/7/15 22:49:28

在心血管疾病的防治与脂质代谢研究领域,PCSK9(前蛋白转化酶枯草溶菌素9)无疑是近年来备受瞩目的明星靶点。作为一种主要由肝脏合成的分泌型丝氨酸蛋白酶,PCSK9在调控血液中低密度脂蛋白胆固醇(LDL-C)水平方…

影刀RPA 报表自动调度:定时查询数据库并生成业务报表

影刀RPA 报表自动调度:定时查询数据库并生成业务报表

2026/7/16 0:29:31

影刀RPA 报表自动调度:定时查询数据库并生成业务报表 作者:林焱 什么情况用什么 大多数公司都有几个"祖传报表":每天早上销售总监要看前一天的销售额,每周一运营总监要看上周的用户增长,每月1号财务要看上…

影刀RPA 批量操作的断点记录与续跑方案

影刀RPA 批量操作的断点记录与续跑方案

2026/7/16 0:29:31

影刀RPA 批量操作的断点记录与续跑方案 作者:林焱 什么情况用这个 处理5000条数据到第3891条时流程中断了。你重启流程——从头开始。前3891条白跑了,还要花同样的时间重新处理。更糟的是,前面已经提交到系统的数据没法"撤回"&…

Windows系统文件DaOtpCredentialProvider.dll丢失找不到问题解决

Windows系统文件DaOtpCredentialProvider.dll丢失找不到问题解决

2026/7/16 0:29:31

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

影刀RPA 批量处理的进度追踪:让长任务可视化

影刀RPA 批量处理的进度追踪:让长任务可视化

2026/7/16 0:29:31

影刀RPA 批量处理的进度追踪:让长任务可视化 作者:林焱 什么情况用这个 你在跑一个处理5000条数据的流程,半个小时过去了,窗口没有任何反应——不知道处理到第几条了、还要多久、有没有卡死。你犹豫要不要手动关掉重来&#xff0c…

告别网盘限速烦恼:LinkSwift直链下载助手完整使用指南

告别网盘限速烦恼:LinkSwift直链下载助手完整使用指南

2026/7/16 0:29:31

告别网盘限速烦恼:LinkSwift直链下载助手完整使用指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼…

室内设计转行信息安全1年,进安恒,升经理,涨工资,算成功吗?

室内设计转行信息安全1年,进安恒,升经理,涨工资,算成功吗?

2026/7/16 0:19:31

室内设计转行信息安全1年,进安恒,升经理,涨工资,算成功吗? 在这个飞速发展的大环境下,普通人想要谋求一个好出路不是一件易事。 原以为毕业了有份好工作是自然而然的事,结果才发现不仅找工作处处…

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

2026/7/16 0:35:09

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator作为Unity游戏社区中最成熟的文本翻译解决方…

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

2026/7/13 20:43:19

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持 【免费下载链接】raspberrypi-kernel It provides openEuler kernel source for Raspberry Pi 项目地址: https://gitcode.com/openeuler/raspberrypi-kernel 前往项目官网免费下载&…

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

2026/7/15 0:26:43

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧 【免费下载链接】integration-test The repo contains test suits for system integration test 项目地址: https://gitcode.com/openeuler/integration-test 前往项目官网免费下载:…

Python实现跨境电商商品图批量翻译教程

Python实现跨境电商商品图批量翻译教程

2026/7/16 0:09:31

一、问题引入做跨境电商的卖家朋友,你是否遇到过这样的困扰?每次上架新品到亚马逊、Shopee或Lazada等平台,都需要处理大量商品图片的多语言版本。比如上架200款衣服,每款需要翻译成英语、日语、韩语等5种语言,这意味着…

跨境电商多语言商品图翻译方案实现

跨境电商多语言商品图翻译方案实现

2026/7/16 0:09:31

一、问题引入对于做跨境电商的卖家来说,多语言商品图的制作一直是令人头疼的环节。当你准备在亚马逊、Shopee、Lazada等多个平台同步上架新品时,首先遇到的就是图片翻译问题。以一位做家居用品的卖家为例,他需要将200张商品图片中的英文文案全…

Windows系统文件d3dx9_36.dll丢失找不到问题解决

Windows系统文件d3dx9_36.dll丢失找不到问题解决

2026/7/16 0:09:31

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…