You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python处理DataFrame时间数据:筛选2021-09-09连接网站的客户记录

实现代码及逻辑说明

首先先完成数据预处理,将时间列转为pandas可识别的datetime格式,再根据你字段的实际含义选择对应筛选逻辑:

import pandas as pd

# 构造示例DataFrame,你可以替换为自己读入的数据
data = {
    'id': ['x1', 'x2', 'x3', 'x4'],
    'beg': ['2021-09-08 10:00:00', '2021-09-09 22:00:00', '2021-09-08 10:00:00', '2021-09-09 10:00:00'],
    'end': ['2021-09-10 10:00:00', '2021-09-10 00:00:00', '2021-09-09 10:00:00', '2021-09-09 14:00:00']
}
df = pd.DataFrame(data)

# 转时间格式
df['beg'] = pd.to_datetime(df['beg'])
df['end'] = pd.to_datetime(df['end'])

# 定义目标日期的时间范围
target_start = pd.to_datetime('2021-09-09 00:00:00')
target_end = pd.to_datetime('2021-09-10 00:00:00')

情况1:beg~end为断连时段(字段含义和你描述一致)

筛选逻辑:排除断连时段完全覆盖9月9日全天的客户,剩下的都是当天有过连接的客户

filtered_df = df[~((df['beg'] <= target_start) & (df['end'] >= target_end))]

示例数据筛选结果:x2、x3、x4


情况2:beg~end为连接时段(常见描述笔误场景)

筛选逻辑:只要连接时段和9月9日有交集就算符合要求,通用时间区间交集判断公式:A开始 < B结束 且 A结束 > B开始

filtered_df = df[(df['beg'] < target_end) & (df['end'] > target_start)]

示例数据筛选结果:x1、x2、x3、x4

内容的提问来源于stack exchange,提问作者dsp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 19:15:07