news 2026/4/25 3:31:22

Pandas 高效实现组内跨行时间戳匹配与布尔标记

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Pandas 高效实现组内跨行时间戳匹配与布尔标记

本文介绍如何在大规模数据集(百万级行、每组15–25行)中,基于 application_id 分组,高效判断每行的 rejected_time 是否等于同组内任意其他行的 selected_time,并生成布尔标记列 user_rejects。 本文介绍如何在大规模数据集(百万级行、每组15–25行)中,基于 `application_id` 分组,高效判断每行的 `rejected_time` 是否等于**同组内任意其他行**的 `selected_time`,并生成布尔标记列 `user_rejects`。在真实业务场景(如信贷审批、招聘流程或订单履约系统)中,常需识别用户是否“先选后拒”——即某次拒绝操作的时间戳,恰好与同一申请(application_id)下另一次被选中的时间戳完全一致。该需求本质是组内跨行时间戳存在性匹配,而非简单自匹配(避免将本行 selected_time == rejected_time 误判),且对性能极为敏感(数据量达百万级,字段超百个)。核心思路是:对每个 application_id 组,提取该组所有非空 selected_time 值构成集合,再逐行检查其 rejected_time 是否落在此集合中。关键在于避免显式循环或 apply 中嵌套遍历,而是利用向量化 isin() 实现 O(1) 查找。以下是完整、可直接运行的解决方案:import pandas as pdimport numpy as np# 确保时间列正确解析为 datetime64[ns],自动处理空值/非法格式time_cols = ['selected_time', 'rejected_time']df[time_cols] = df[time_cols].apply(pd.to_datetime, errors='coerce')# 定义组内匹配逻辑:当前组的 rejected_time 是否存在于本组非空 selected_time 中def mark_user_rejects(group): # 提取本组所有有效 selected_time(去重 + 去空),转为 Series 便于 isin valid_selected = group['selected_time'].dropna().drop_duplicates() # 向量化判断:每行 rejected_time 是否在 valid_selected 中 return group['rejected_time'].isin(valid_selected)# 按 application_id 分组应用,禁用 group_keys 以提升性能(避免索引冗余)df['user_rejects'] = ( df.groupby('application_id', group_keys=False) .apply(mark_user_rejects) .astype(int) # 转为 0/1 整数,节省内存且兼容下游计算)? 为什么高效? Cleanup.pictures 智能移除图片中的物体、文本、污迹、人物或任何不想要的东西

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/25 3:31:21

WLAN技术演进与安全部署实战指南

1. WLAN技术基础与演进脉络 无线局域网(WLAN)技术自1997年IEEE 802.11标准诞生以来,已经历了五代技术革新。其核心工作原理是通过2.4GHz/5GHz射频频段实现数据包的无线传输,采用CSMA/CA机制解决多设备接入冲突问题。当前主流的802…

作者头像 李华
网站建设 2026/4/25 3:31:17

革命性突破:JavaScript PDF处理的全栈解决方案

革命性突破:JavaScript PDF处理的全栈解决方案 【免费下载链接】pdf-lib Create and modify PDF documents in any JavaScript environment 项目地址: https://gitcode.com/gh_mirrors/pd/pdf-lib 在当今数字化时代,PDF文档处理已成为Web开发、移…

作者头像 李华
网站建设 2026/4/25 3:30:45

ARM Integrator/IM-AD1接口模块技术解析与应用实践

1. ARM Integrator/IM-AD1接口模块深度解析作为一名长期从事嵌入式开发的工程师,我深知接口模块在系统设计中的重要性。今天要详细剖析的ARM Integrator/IM-AD1,是一款专为ARM架构设计的工业级接口模块,它在我的多个汽车电子和工业控制项目中…

作者头像 李华
网站建设 2026/4/25 3:28:29

范浩强:从IOI金牌到AI创业者的十四年征程

范浩强:那个说“不靠谱才有意思”的少年,和他脚踩泥土的十四年如果有人问你,中国AI界最“顺理成章”的天才是谁,范浩强的名字可能不会第一个跳出来。但如果有人问你,谁能在高一拿IOI金牌、高二创业、大一发顶会、25岁带…

作者头像 李华
网站建设 2026/4/25 3:26:33

Phi-4-mini-flash-reasoning生产环境:API网关接入后的高并发推理方案

Phi-4-mini-flash-reasoning生产环境:API网关接入后的高并发推理方案 1. 项目背景与挑战 Phi-4-mini-flash-reasoning是一款专注于复杂推理任务的轻量级文本模型,在数学解题、逻辑分析和结构化推理等场景表现出色。随着业务量增长,我们面临…

作者头像 李华