首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在日期列表中查找日期差异[Pandas]

在日期列表中查找日期差异[Pandas]
EN

Stack Overflow用户
提问于 2016-02-03 01:43:32
回答 2查看 730关注 0票数 1

假设以下数据集已对日期列表进行排序:

代码语言:javascript
复制
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 Timelag2.75

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-03 02:30:44

首先:

代码语言:javascript
复制
  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]

你可以

代码语言:javascript
复制
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

代码语言:javascript
复制
client
1    [1.0, 1.0, 1.0, 1.0]
2         [1.0, 3.0, 7.0]

代码语言:javascript
复制
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

代码语言:javascript
复制
client
1    1.000000
2    3.666667
票数 2
EN

Stack Overflow用户

发布于 2016-02-03 02:23:24

这重复了以下几点:

Difference between two dates?

看起来,您可以使用datetime模块来解析要导入到支持代数的对象中的日期和/或时间字符串。

https://docs.python.org/2/library/datetime.html

干杯

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35167056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档