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

Python:按Place和Dates分组后验证多ID的Datetime一致性

实现需求的Pandas方案

核心思路

  1. 按Place和dates分组,统计每个分组内唯一id的数量
  2. 将event_date_time截断到时分级别(忽略秒数)
  3. 分组判断逻辑:
    • 若分组内唯一id数量≤1:Check列直接标记为No
    • 若分组内唯一id数量>1:检查不同id对应的时分级时间集合是否完全一致,一致则标记Yes,否则No

代码实现

import pandas as pd

# 加载示例数据(修正原数据中ccc组的id错误,匹配需求描述)
d = {'Place': ['aaa', 'bbb', 'bbb', 'bbb', 'bbb', 'ccc', 'ccc'],
        'dates': ['2022-01-03', '2022-03-16', '2022-03-16', 
                  '2022-03-16', '2022-03-16', '2021-09-12',
                 '2021-09-12'],
       'id': ['1234', '4567', '4567',
                 '7890', '7890', '2345', 
                 '5486'],
     'event_date_time': ['2022-01-03 14:42:56', '2022-03-16 15:31:00', '2022-03-16 16:13:28', 
                  '2022-03-16 15:31:00', '2022-03-16 16:13:28', '2021-09-12 08:01:48',
                 '2021-09-12 08:02:38']
    }
sample_df = pd.DataFrame(d)
sample_df['event_date_time'] = pd.to_datetime(sample_df['event_date_time'])
sample_df['dates'] = pd.to_datetime(sample_df['dates'])

# 生成时分级时间列(忽略秒数)
sample_df['event_hour_min'] = sample_df['event_date_time'].dt.floor('min')

# 定义分组判断函数
def check_group_consistency(group):
    unique_ids = group['id'].nunique()
    if unique_ids <= 1:
        return 'No'
    # 按id分组,获取每个id对应的时分时间集合
    id_time_sets = group.groupby('id')['event_hour_min'].apply(set)
    # 检查所有id的时间集合是否完全一致
    first_set = id_time_sets.iloc[0]
    all_same = all(s == first_set for s in id_time_sets)
    return 'Yes' if all_same else 'No'

# 分组计算Check列
sample_df['Check'] = sample_df.groupby(['Place', 'dates'], group_keys=False).apply(check_group_consistency)

# 保留目标列并输出结果
result_df = sample_df[['Place', 'dates', 'id', 'event_date_time', 'Check']]
print(result_df)

最终输出结果

Placedatesidevent_date_timeCheck
aaa2022-01-0312342022-01-03 14:42:56No
bbb2022-03-1645672022-03-16 15:31:00Yes
bbb2022-03-1645672022-03-16 16:13:28Yes
bbb2022-03-1678902022-03-16 15:31:00Yes
bbb2022-03-1678902022-03-16 16:13:28Yes
ccc2021-09-1223452021-09-12 08:01:48No
ccc2021-09-1254862021-09-12 08:02:38No

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 22:35:20