pandas Python -告诉panda Dataframe 中是否存在非连续日期

oewdyzsn  于 2022-11-20  发布在  Python
关注(0)|答案(2)|浏览(175)

我有一个Pandas数据框与日期。我需要知道是否每隔一个日期对是连续的。
第一个
每一对都应该是连续的。我尝试过不同的排序,但我看到的所有内容都与整个系列是连续的有关。我需要比较第一次约会后的每一对日期。

cb_gap = cb_sorted.sort_values('dates').groupby('dates').diff() > pd.to_timedelta('1 day')

我需要看到的是...

2    1988-01-01 <- Ignore the start date

3    2015-01-31 <- these dates have no gap
4    2015-02-01

5    2015-05-31 <- these dates have no gap
6    2015-06-01

7    2021-11-16 <- these have a gap!!!!
11   2021-11-18

12   2022-10-05 <- these have no gap
8    2022-10-06

9    2022-10-12
db2dz4w8

db2dz4w81#

这里有一种方法
顺便说一句,您的预期输出是什么?答案会让您获得连续日期的差异,跳过第一行并填充diff列
第一个

bmp9r5qi

bmp9r5qi2#

一 种 方法 是 使用 移位 和 计算 差值 。

pd.DataFrame({'date':df.date,'diff':df.date.shift(-1)-df.date})[1::2]

中 的 每 一 个
返回

date   diff
1 2015-01-31 1 days
3 2015-05-31 1 days
5 2021-11-16 1 days
7 2022-10-05 1 days
9 2022-10-12 1 days

格式
速度 也 更 快
| 检查 方法|时间|
| - -| - -|
| 纳 维德 的|4.23 毫秒|
| 这个|0.93 毫秒|

相关问题