假设以下数据集已对日期列表进行排序:
dates=pd.DataFrame(data={'client':['1','2'],
'date':[['2012-3-10','2012-3-11','2012-3-12','2012-3-13','2012-3-14'],
['2012-3-12','2012-3-13','2012-3-16','2012-3-23']]})

我想找出按天数计算的平均日期差异,所以,例如,对于Client '2',Average Timelag是2.75
发布于 2016-02-03 02:30:44
首先:
client date
0 1 [2012-3-10, 2012-3-11, 2012-3-12, 2012-3-13, 2...
1 2 [2012-3-12, 2012-3-13, 2012-3-16, 2012-3-23]你可以
dates.groupby('client')['date'].apply(lambda x: [i / np.timedelta64(1, 'D') for i in np.diff([pd.to_datetime(c) for c in x])[0]])获取timedelta中的days
client
1 [1.0, 1.0, 1.0, 1.0]
2 [1.0, 3.0, 7.0]或
dates.groupby('client')['date'].apply(lambda x: np.mean([i / np.timedelta64(1, 'D') for i in np.diff([pd.to_datetime(c) for c in x])[0]]))对于mean
client
1 1.000000
2 3.666667发布于 2016-02-03 02:23:24
这重复了以下几点:
看起来,您可以使用datetime模块来解析要导入到支持代数的对象中的日期和/或时间字符串。
https://docs.python.org/2/library/datetime.html
干杯
https://stackoverflow.com/questions/35167056
复制相似问题