根据日期时间值是否在一小时内在熊猫中创建新列

乔什·基德(Josh Kidd)

如果我在pandas中有一个数据框,例如:

StartDate,           EndDate,              uniqueid
2015-07-20 15:04:13, 2015-07-20 17:56:00,  1
2015-07-20 20:32:16, 2015-07-20 20:56:11,  3
2015-07-20 22:35:59, 2015-07-20 22:51:10,  11
2015-07-20 18:00:51, 2015-07-20 18:42:01,  12       

我想创建一个新的列,如果在列表中在行EndDate之后不到一个小时的时间内存在一个StartDate,则该列具有指标值。因此,示例输出如下所示:

StartDate,           EndDate,              uniqueid, WithinHour
2015-07-20 15:04:13, 2015-07-20 17:56:00,  1,        1
2015-07-20 20:32:16, 2015-07-20 20:56:11,  3,        0   
2015-07-20 22:35:59, 2015-07-20 22:51:10,  11,       0
2015-07-20 18:00:51, 2015-07-20 18:42:01,  12,       0

因为第一行有

EndDate 2015-07-20 17:56:00 

第4行有

StartDate 2015-07-20 18:00:51

在1小时内。

各行的开始日期和结束日期不应有任何重叠,因此我认为我应该按startdate进行排序,使用(下一行的StartDate)-(此行的EndDate)创建一个新列,然后更改如果时间少于一个小时,则将新列设置为1;如果时间少于一个小时,则将其设置为0。我不确定如何执行此操作。

臀部

这是一种方法。对于每个EndDate,应用所需的datetime范围测试。使用any以获得标答案你的价值将会是True,如果至少一个排比赛:

df['uniqueid'] = df.EndDate.apply(lambda dt: (((df.StartDate-pd.Timedelta(1, 'h')) <= dt)
                                             & (df.StartDate >= dt )).any())

df.uniqueid
Out[57]: 
0     True
1    False
2    False
3    False
Name: uniqueid, dtype: bool

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

熊猫,插入日期时间值,每行增加一小时

熊猫班次日期时间列返回一小时

判断DateTime是否在当前时间的一小时内

从 MySQL 中查找上一小时内更新但上一小时内未创建的记录

如何在React中存储将在一小时内到期的日期?

识别一个数据框的日期时间是否在另一个数据框的一小时内

如何在给定开始日期时间戳的情况下在熊猫中添加日期列,使每一行增加一小时?

在 Spark scala 中创建从时间戳值开始并以时间戳值递增一小时结束的 df

Python:获取最后一小时的日期时间

为什么javascript新的Date根据日期格式增加一小时

为什么我要在一小时内在youtube api上运行我的每日配额?

使用 where 子句从上一小时内创建的表中获取数据行

php比较一小时内的时间戳+/-

datetime:在一小时内选择分钟

FaunaDB:如何获取过去一小时内创建的文档?

返回在不到一小时内创建的文档 - Elasticsearch 查询

ORACLE使用TO_DATE检查项目是否在最后一小时内

从 unix 值中获取前一小时/前一天的时间戳

使用熊猫来计算从开始时间到不规则时间间隔的一小时内发生的用户订单

最近一小时内键值对流中的前10个

如何在开始和结束时间戳记日期之间创建一小时的时隙?

获取过去一小时和当前一小时插入到MySQL表中的值

小时/分钟使用 lubridate 从日期时间增加一小时

计算在该行过去一小时内具有时间戳的行

是否可以在过去一小时内输出文件中最后添加/修改的文本?

根据同一小时合并熊猫数据框

插入后一小时后的日期时间。夏令时

Jquery从输入时间接收时间值并加一小时

两个日期/时间之间特定的一小时周期数