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

Python/SQL实现计算客户平均访问间隔天数的函数需求

计算客户平均购买兴趣时长(访问间隔天数平均值)

处理步骤:

  1. 转换日期列类型:先把字符串格式的访问日期转成datetime类型,才能进行日期间隔计算。
  2. 按客户分组并排序日期:对每个客户的访问日期做排序,保证间隔计算是按时间顺序进行的。
  3. 计算相邻日期间隔并求平均:针对每个客户的日期序列,算出相邻日期的差值,转成天数后取平均值。

完整代码实现:

import pandas as pd

def calculate_avg_interest_duration(dt):
    # 把字符串格式的访问日期转为datetime类型
    dt['访问日期'] = pd.to_datetime(dt['访问日期'])
    
    # 按客户邮箱分组,排序日期后计算间隔天数,再求平均值
    avg_interval = dt.groupby('email_proposta')['访问日期'].apply(
        lambda x: x.sort_values().diff().dt.days.dropna().mean()
    ).reset_index(name='平均购买兴趣时长(天)')
    
    return avg_interval

代码说明:

  • pd.to_datetime(dt['访问日期']):将字符串格式的日期转为可计算的datetime对象,这是日期运算的前提。
  • groupby('email_proposta'):按客户邮箱分组,确保每个客户的访问数据独立处理。
  • x.sort_values():对单个客户的访问日期排序,避免因原始数据乱序导致间隔计算出错。
  • diff().dt.days:计算相邻日期的时间差并转为天数,diff()生成的第一个值是NaN(无前置日期),用dropna()剔除后再计算平均值。
  • mean():对每个客户的有效间隔天数取平均,得到该客户的平均购买兴趣时长。

内容的提问来源于stack exchange,提问作者Vívian Andrade

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 19:03:37