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

Python Pandas比较datetime筛选2021-09-09连接网站的客户

Pandas筛选指定日期访问客户并计算当日时段解决方案

你写的普通if分支不能直接作用于Pandas的整列数据,需要用矢量化操作实现需求,完整实现代码如下:

import pandas as pd

# 1. 时间列格式转换(如果已经是datetime类型可跳过)
df['beg'] = pd.to_datetime(df['beg'])
df['end'] = pd.to_datetime(df['end'])

# 2. 定义目标日期边界
day_start = pd.Timestamp('2021-09-09 00:00:00')
day_end = pd.Timestamp('2021-09-10 00:00:00')

# 3. 筛选9月9日当天有访问记录的客户
# 判断逻辑:访问开始时间早于9日结束、且访问结束时间晚于9日开始,即存在重叠
df = df[(df['beg'] < day_end) & (df['end'] > day_start)].copy()

# 4. 计算field1、field2,匹配预期输出格式
# field1:9日当天的访问开始时间,早于9日零点则显示00:00:00
df['field1'] = df['beg'].clip(lower=day_start).dt.time.astype(str)
df.loc[df['beg'] < day_start, 'field1'] = '00:00:00'
# 如果需要和示例x1一样将field1留空,把上面一行替换为:
# df.loc[df['beg'] < day_start, 'field1'] = ''

# field2:9日当天的访问结束时间,晚于9日24点则显示24:00:00
df['field2'] = df['end'].clip(upper=day_end).dt.time.astype(str)
df.loc[df['end'] >= day_end, 'field2'] = '24:00:00'

运行后输出结果和你给出的预期格式完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 16:24:04