以下是数据框:
entryTime exitTime
2017-05-31 22:47:08 2017-05-31 22:50:29
2017-05-31 22:47:38 2017-06-01 00:00:44
2017-05-31 23:59:50 2017-06-01 00:01:58
2017-06-01 00:01:40 2017-06-01 00:02:00
dtype: datetime64[ns]
我想创建一个新列“位置”,用于计算前一行的数量:
当前行的entryTime<上一行的exitTime
e.g.
entryTime exitTime Position
2017-05-31 22:47:08 2017-05-31 23:59:59 0
2017-05-31 22:47:38 2017-06-01 00:00:44 1
2017-05-31 23:59:50 2017-06-01 00:01:58 2
2017-06-01 00:01:40 2017-06-01 00:02:00 1
dtype: datetime64[ns]
我该怎么做?
答案 0 :(得分:1)
使用shift
df['position'] = (df.entryTime < df.exitTime.shift(1)).astype(int)
df
entryTime exitTime position
0 2017-05-31 22:47:08 2017-05-31 22:50:29 0
1 2017-05-31 22:47:38 2017-06-01 00:00:44 1
2 2017-05-31 23:59:50 2017-06-01 00:01:58 1