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

Python数据处理实战:列表推导式+time库+DataFrame+groupby详细代码注释

船长Talk | 每天一篇数据分析干货关注公众号「船长Talk」获取更多 Python / 数据分析 / SQL 实战技巧附完整注释代码。每篇文章都有详细代码注释学了就能用。Python 数据处理实战列表推导式 time库 DataFrame groupby 详细代码注释本文整理了 Python 数据分析常考/常用的 10 个操作包含详细代码注释适合入门和查阅复习。 涵盖列表去重、列表推导式、maplambda、time 时间转换、pandas DataFrame 创建与 groupby 分组聚合。一、列表操作题目要求# 公众号船长Talk # 以下是 10 道 Python 基础练习题含答案代码 # 1. 实现列表去重 L1 [1, 1, 2, 3, 4, 2, 4] # 2. 列表推导式实现 L1 每个元素加1 # 3. 列表推导式实现获取 L1 中大于2的元素 # 4. map 加 lambda 实现每个元素加1 # 5. 把字符串 19-10-08 转化为时间 # 6. 1582713904 转化为时间 # 7. 2018-2-26 转化为时间戳 # 8. 创建 DataFrame 并以 E 列分组对 D 列求最大值、合计、最小值 # 9. 访问 test 组的最大值、最小值、合计 # 10. 访问所有 E 组合计二、完整代码含详细注释# 题1列表去重 # 公众号船长Talk L1 [1, 1, 2, 3, 4, 2, 4] # 原始列表含重复元素 L2 [] # 用于存放去重后结果 for i in L1: if i not in L2: # 若元素不在 L2 中则加入 L2.append(i) print(L2) # 输出[1, 2, 3, 4] # 更简洁写法推荐 L2_v2 list(set(L1)) # set 自动去重再转回 list print(sorted(L2_v2)) # 排序后输出[1, 2, 3, 4]# 题2列表推导式 - 每个元素加1 # 公众号船长Talk list3 [x 1 for x in L1] # 列表推导式遍历 L1每个元素 1 print(list3) # 输出[2, 2, 3, 4, 5, 3, 5] # 扩展二维列表展平列表推导式进阶 vec [[1,2,3],[4,5,6],[7,8,9]] flat [num for elem in vec for num in elem] # 双层推导式 print(flat) # 输出[1, 2, 3, 4, 5, 6, 7, 8, 9]# 题3列表推导式 - 筛选大于2的元素 # 公众号船长Talk list4 [x for x in L1 if x 2] # 带条件的列表推导式 print(list4) # 输出[3, 4, 4]L1中大于2的元素# 题4map lambda 每个元素加1 # 公众号船长Talk # lambda x: x1 匿名函数等价于 def f(x): return x1 # map(函数, 可迭代对象) 对每个元素应用函数返回迭代器 map_list map(lambda x: x 1, L1) print(list(map_list)) # 需用 list() 转换才能打印[2, 2, 3, 4, 5, 3, 5]# 题5 6时间字符串 / 时间戳 转换 # 公众号船长Talk import time # --- 题5字符串 19-10-08 转化为时间元组格式--- time_1 19-10-08 # strptimestring parse time按格式解析字符串为 struct_time 元组 # %y 两位年份19 → 2019%m 月%d 日 time2 time.strptime(time_1, %y-%m-%d) print(time2) # time.struct_time(tm_year2019, tm_mon10, tm_mday8, ...) # strftime格式化输出%Y 四位年份 print(time.strftime(%Y-%m-%d, time2)) # 输出2019-10-08 # --- 题6时间戳 1582713904 转化为可读时间 --- time4 time.localtime(1582713904) # 时间戳 → struct_time本地时间 print(time.strftime(%Y-%m-%d, time4)) # 输出2020-02-26# 题72018-2-26 转化为时间戳 # 公众号船长Talk # strptime字符串 → struct_time c_time time.strptime(2018-2-26, %Y-%m-%d) # mktimestruct_time → Unix 时间戳浮点秒数 timestamp time.mktime(c_time) print(timestamp) # 输出1519574400.0北京时间对应的时间戳# 题8创建 DataFrame groupby 分组聚合 # 公众号船长Talk import pandas as pd import numpy as np # 创建 DataFrame多种列类型演示 df2 pd.DataFrame({ id: np.arange(1, 5), # 整数序列 [1,2,3,4] A: 1., # 浮点常量广播填充 B: pd.Timestamp(20130102), # 时间戳列广播填充 C: pd.Series(1, indexlist(range(4)), dtypefloat32), # float32 类型 D: np.array([3] * 4, dtypeint32), # int32 类型全为 3 E: [test, train, test, train], # 字符串标签列 F: foo # 字符串常量广播填充 }) print(df2) # 按 E 列分组对 D 列求最大值、合计、最小值 # groupby(E)按 E 列的值分组test/train 两组 # [D]只对 D 列操作 # .agg([sum, max, min])聚合函数列表 df8 df2.groupby(E)[D].agg([sum, max, min]) print(df8) # 输出 # sum max min # E # test 6 3 3 # train 6 3 3# 题9访问 test 组的统计值 # 公众号船长Talk print(df8) # .loc[test]按行标签访问E 列的值作为索引 result df8.loc[test] print(result) # 输出 # sum 6 # max 3 # min 3 # Name: test, dtype: int64# 题10访问所有 E 组的合计 # 公众号船长Talk print(df8) # 直接用列名 sum 访问该列所有组的合计值 print(df8[sum]) # 输出 # E # test 6 # train 6 # Name: sum, dtype: int64三、知识点总结知识点语法用途列表推导式[expr for x in list if cond]简洁生成新列表map lambdalist(map(lambda x: ..., lst))函数式批量处理strptimetime.strptime(str, fmt)字符串 → 时间元组strftimetime.strftime(fmt, struct)时间元组 → 格式字符串mktimetime.mktime(struct)时间元组 → 时间戳localtimetime.localtime(timestamp)时间戳 → 时间元组groupby aggdf.groupby(col)[col2].agg([...])分组聚合统计 更多干货关注公众号「船长Talk」每天推送 Python / SQL / 数据分析 实战内容每篇都有详细代码注释看完能直接用。微信搜索「船长Talk」即可关注。

相关文章:

Python数据处理实战:列表推导式+time库+DataFrame+groupby详细代码注释

🚢 船长Talk | 每天一篇数据分析干货 关注公众号「船长Talk」,获取更多 Python / 数据分析 / SQL 实战技巧,附完整注释代码。 每篇文章都有详细代码注释,学了就能用。Python 数据处理实战:列表推导式 time库 DataFra…...

2-3 上下文管理:让AI真正“看懂“你的项目

你有没有遇到过这种情况: 同一个AI编程工具,在Project A里表现得像个资深架构师,能准确遵循项目规范、理解业务逻辑;到了Project B,却像个刚毕业的新手,写出完全不符合规范的代码,甚至提出违背项目基础设计的修改建议。 差距在哪里? 答案:上下文管理(Context Mana…...

无线工程师必备:用Wireshark解码802.11ac VHT Capabilities字段全攻略(含160MHz配置示例)

无线网络深度解析:802.11ac VHT Capabilities字段实战指南 在当代企业级无线网络部署中,802.11ac协议已成为高吞吐量应用的核心支撑。作为无线工程师,能否精准解读VHT(Very High Throughput)Capabilities信息元素&…...

代理商客户归管+赊欠账明细查询,易特进销存商贸版一键解决

做商贸生意的朋友,大概率会遇到这样的难题:发展了代理商拓展市场,代理商的客户却需要公司统一管理,既要明确客户归属,又要精准统计赊欠账目。比如代理商张三,总共欠公司1万元,查账时想清晰看到他…...

ADC类型解析与选型指南:从闪存到ΔΣ

1. ADC基础概念与核心原理在电子系统中,模拟信号到数字信号的转换(ADC)是实现物理世界与数字世界交互的关键桥梁。作为一名嵌入式开发者,我经常需要根据项目需求选择不同类型的ADC拓扑结构。让我们先拆解ADC的核心工作机制。ADC转…...

告别环境冲突:基于快马平台与homebrew打造团队高效统一开发环境

作为一名长期与团队协作的开发者,我深刻体会到环境配置不一致带来的痛苦。新同事入职要花一整天配环境,不同项目依赖冲突导致"在我机器上能跑"的经典问题,甚至同一项目组因为系统更新节奏不同而出现隐性兼容问题。最近尝试用homebr…...

编程中输入特殊字符的通用方法

编程里的特殊字符&#xff08;比如 # $ % ^ & * / \ < > " 等&#xff09;分两种场景&#xff1a;直接键盘输入&#xff08;写代码最常用&#xff09;、代码里输出 / 转义&#xff08;程序运行时显示&#xff09;&#xff0c;我给你整理了最简单、全覆盖的用法…...

济民健康医疗服务占比提升至46%!业务结构调整初见成效

济民健康医疗服务占比提升至46%&#xff01;业务结构调整初见成效济民健康2025年财报显示&#xff0c;公司医疗服务板块收入占比提升至46%&#xff0c;成为业绩重要支撑。尽管全年净利润预亏2.5亿至2.1亿元&#xff0c;但业务结构调整成效显著&#xff0c;医疗服务板块营收同比…...

Windows系统下CUDA Toolkit与cuDNN的安装与配置全攻略

1. 环境准备&#xff1a;确认你的硬件和系统支持 在开始安装CUDA Toolkit和cuDNN之前&#xff0c;首先要确认你的Windows系统是否满足基本要求。我遇到过不少朋友兴冲冲下载安装包&#xff0c;结果发现显卡根本不支持CUDA加速&#xff0c;白白浪费了时间。这里分享几个快速检查…...

OpenClaw自动化测试:Phi-3-vision-128k-instruct版本升级对比

OpenClaw自动化测试&#xff1a;Phi-3-vision-128k-instruct版本升级对比 1. 测试背景与动机 上周在星图镜像广场发现Phi-3-vision-128k-instruct的新版本镜像更新&#xff0c;作为长期使用OpenClaw进行自动化测试的技术爱好者&#xff0c;我决定系统性地验证这个号称"支…...

大模型微调终极指南:从基础概念到实战技巧

前言 近年来&#xff0c;大语言模型&#xff08;LLM&#xff09;的爆发式发展正在深刻改变人工智能的格局。然而&#xff0c;如何将这些通用模型适配到特定领域和任务&#xff0c;成为了开发者面临的核心挑战。本文将系统性地梳理大模型后训练的核心方法&#xff0c;从监督微调…...

SpringBoot 自动配置原理与实践

核心机制解析SpringBoot 的自动配置基于条件化装配思想&#xff0c;通过 Conditional 系列注解实现动态加载。spring-boot-autoconfigure 模块包含大量预定义配置类&#xff0c;例如 DataSourceAutoConfiguration 在检测到类路径存在 HikariCP 时自动初始化数据源。关键组件包括…...

VS2019+CMake实战:Super4PCS点云配准从源码编译到运行全流程指南

VS2019CMake实战&#xff1a;Super4PCS点云配准从源码编译到运行全流程指南 在三维视觉和机器人领域&#xff0c;点云配准一直是核心难题之一。Super4PCS算法作为4PCS的改进版本&#xff0c;以其在低重叠率点云上的优异表现&#xff0c;成为工业检测和SLAM系统中的热门选择。本…...

youtube上台式机 4k显示器配置

1.相关的网址信息https://www.youtube.com/watch?v66MawsFCgaY2.一个外国人做的相关的展示信息3.相关的配置如下amd r7 9800x3D 处理器显卡是技嘉的显卡 rtx5080 16gb内存的显卡...

深入解析Anaconda中的pkgs文件夹:功能、管理与优化策略

1. pkgs文件夹的核心功能解析 第一次打开Anaconda安装目录时&#xff0c;很多人都会被那个占据几个GB空间的pkgs文件夹吓一跳。这个看似普通的文件夹&#xff0c;其实是Anaconda生态系统的"心脏"。它不仅仅是存放安装包的仓库&#xff0c;更承担着环境管理的关键角色…...

history 常见优化配置

文章目录 一、写在哪个文件生效?(关键) ✅ Bash 环境下生效位置(最常见) 1️⃣ 全局生效(所有用户) ✅ 推荐方式(最规范) 2️⃣ 全局兜底(老系统) 3️⃣ 当前用户生效 ✅ 各文件加载顺序(很重要) 二、不同场景推荐配置位置 三、验证是否生效 四、一句话总结(运维…...

Burp Suite实战:如何用Base64编码爆破网站登录(附完整配置流程)

Burp Suite高级实战&#xff1a;Base64编码爆破攻击的深度解析与防御策略 在渗透测试领域&#xff0c;认证机制的安全性评估始终是核心环节。Base64编码作为一种常见的数据表示方式&#xff0c;常被误认为具有加密功能而用于认证传输。本文将深入剖析如何利用Burp Suite对采用B…...

Agent Skill 按需加载:架构设计与实现解析

❝当 AI Agent 需要的知识越来越多&#xff0c;把一切都塞进 System Prompt 显然不是个好主意。本文从架构设计的角度出发&#xff0c;深入探讨一种优雅的解法——「Skill 渐进式加载机制」。❞一、问题&#xff1a;当 Agent 需要"十八般武艺"构建一个功能丰富的 AI …...

nRF52轻量级NFC Type 2标签驱动库解析

1. 项目概述aconno_nrf52_nfc是一个专为 Nordic Semiconductor nRF52 系列 SoC&#xff08;如 nRF52832、nRF52840&#xff09;设计的轻量级 NFC 标签驱动库。该库不依赖于 Nordic SDK 的完整 NFC 协议栈&#xff08;如nfc_t2t_lib或nfc_ndef&#xff09;&#xff0c;而是直接操…...

C++ lambda 捕获机制与作用域

C lambda 捕获机制与作用域探析 在C11引入的lambda表达式为开发者提供了更灵活的匿名函数实现方式&#xff0c;其核心特性之一是捕获机制&#xff0c;允许lambda访问外部作用域的变量。理解捕获规则与作用域的关系&#xff0c;不仅能避免常见错误&#xff0c;还能提升代码的简…...

BGP选路实战:从理论到实验的十三条法则

1. BGP选路原则概述&#xff1a;网络工程师的导航系统 如果把互联网比作一个超级城市&#xff0c;BGP就是这座城市的路由导航系统。作为网络工程师&#xff0c;我们每天都要处理成千上万条路由信息&#xff0c;而BGP的十三条选路原则就是帮助我们做出最优路径选择的黄金法则。这…...

SinricPro_Generic库:多平台MCU接入Alexa的嵌入式通信框架

1. SinricPro_Generic 库深度技术解析&#xff1a;面向多平台嵌入式设备的 Alexa 智能家居接入方案1.1 库定位与核心价值SinricPro_Generic是一个高度工程化的、面向生产环境的嵌入式 IoT 通信中间件&#xff0c;其核心使命是将资源受限的微控制器&#xff08;MCU&#xff09;无…...

LabelImg闪退报错别慌!手把手教你排查‘list index out of range’和‘ValueError’

LabelImg闪退报错全攻略&#xff1a;从崩溃到流畅标注的完整指南 当你正全神贯注地标注数据集时&#xff0c;LabelImg突然闪退并抛出一串红色错误信息——这种经历对任何AI从业者来说都堪称噩梦。别担心&#xff0c;这不是你一个人的问题。根据社区统计&#xff0c;超过60%的La…...

保姆级教程:在绿联NAS的Docker里部署PaddleOCR,打造本地私有化文字识别服务

绿联NASDockerPaddleOCR&#xff1a;三步构建家庭级隐私文字识别中心 想象一下这样的场景&#xff1a;周末整理书房时&#xff0c;你翻出一叠泛黄的老照片和手写笔记&#xff0c;想将它们数字化保存却又担心上传到云端OCR服务会泄露家庭隐私&#xff1b;或是收到一份重要合同需…...

棕榈酰化修饰:从基础研究到癌症治疗的5个关键突破点

棕榈酰化修饰&#xff1a;从基础研究到癌症治疗的5个关键突破点 在肿瘤免疫治疗领域&#xff0c;蛋白质翻译后修饰的调控机制正成为突破性疗法的新靶点。棕榈酰化修饰——这种将16碳棕榈酸共价连接到蛋白质半胱氨酸残基上的动态过程&#xff0c;近年来因其在癌细胞信号传导中的…...

SDS011传感器驱动开发:嵌入式PM2.5/PM10检测实战指南

1. SDS011传感器库技术解析&#xff1a;嵌入式系统中的PM2.5/PM10颗粒物检测实践指南1.1 项目定位与工程价值SDS011是由中国Nova Fitness公司推出的低成本、高可靠性激光散射式颗粒物传感器&#xff0c;专为环境空气质量监测设计。该传感器可同时输出PM2.5和PM10质量浓度数据&a…...

RTOS核心原理与嵌入式开发实战指南

1. RTOS的本质与适用场景我第一次接触RTOS是在2013年做工业控制器项目时&#xff0c;当时用裸机编程遇到了任务调度难题。RTOS&#xff08;Real-Time Operating System&#xff09;与传统操作系统的本质区别在于"确定性"——它能够保证在严格的时间约束内完成任务调度…...

SEO 究竟是什么_外链对SEO重要吗_如何建设外链

SEO 究竟是什么_外链对SEO重要吗?如何建设外链 在当今互联网时代&#xff0c;网站的流量和排名直接关系到企业的收入和市场竞争力。而搜索引擎优化&#xff08;SEO&#xff09;作为网站运营的核心技术之一&#xff0c;无疑是每一个网站经营者都不能忽视的重要环节。本文将深入…...

第一次遇见动态规划

一、什么是动态规划 动态规划是对问题的各状态维度进行分阶段、有顺序、无重复、决策性的遍历求解的算法思想。 “状态”、“阶段”、“决策”是构成动态规划算法的三要素。 问题能用动态规划求解需要满足三个基本条件&#xff1a; 1、子问题重叠性&#xff1a;动态规划算法…...

二十载面香溢加州:鲁味居(101 Noodle Express)的北美餐饮进阶启示录

近日&#xff0c;南加州知名中餐地标品牌“鲁味居&#xff08;101 Noodle Express&#xff09;”正式迎来创立二十周年。在竞争激烈的北美餐饮市场&#xff0c;该品牌凭借对中国纯正传统面食与非遗卤味技艺的坚守&#xff0c;不仅确立了其在海外华人圈层的核心地位&#xff0c;…...