pandas 时间序列差处理

搞比赛的时候想分析一下用户的购买间隔(数据集是一段时间内的订单,也就是一个用户可能有多次记录)。简单记录一下

1. 把object类型的时间转为时间戳,这里用到了time模块

raw['timestamp'] = raw['order_pay_time'].apply(lambda x:time.mktime(time.strptime(x,'%Y-%m-%d %H:%M:%S')))

2. 先按照'customer_id'分组,分组之后对每个分组里的时间序sort之后逐个求差(用好diff以及serise基本的访问就好了)

def fun_c(x):
    x.sort_values()
    print(x)
    tmp = x.diff()
    tmp.iloc[0] = x.iloc[0]
    return tmp

raw.groupby('customer_id')['timestamp'].apply(fun_c)
原文地址:https://www.cnblogs.com/z1141000271/p/12457363.html