python – 检查日期列是否包含每年的所有小时数

python – 检查日期列是否包含每年的所有小时数,第1张

概述我经常需要以下列格式从网站下载每小时历史数据 ` date A B C 2011/01/01 00:00 100 200 300 2011/01/01 01:00 105 210 330 ..... 2012/12/31 23:00 200 400 500' 我遇到的一些问题是,在线数据有时会错过每年 我经常需要以下列格式从网站下载每小时历史数据

`            date      A     B     C 2011/01/01 00:00    100   200   300 2011/01/01 01:00    105   210   330 ..... 2012/12/31 23:00    200   400   500'

我遇到的一些问题是,在线数据有时会错过每年几小时/几天.我需要检查多少以及缺少哪些日期来决定数据是否可用.

我通常只做df.groupby(by = df [‘date’].dt.yr)[‘dt’].count()并查看每年是否有8760(闰年为8784)并检查手动哪些天丢失.我想知道是否有人有类似的问题,并知道如何编写一段代码告诉我哪一年缺少了多少小时和哪些小时缺失.

解决方法 使用asfreq和差异

df.asfreq('H').index.difference(df.index)DatetimeIndex(['2011-01-01 02:00:00','2011-01-01 03:00:00','2011-01-01 04:00:00','2011-01-01 05:00:00','2011-01-01 06:00:00','2011-01-01 07:00:00','2011-01-01 08:00:00','2011-01-01 09:00:00','2011-01-01 10:00:00','2011-01-01 11:00:00',...               '2012-12-31 13:00:00','2012-12-31 14:00:00','2012-12-31 15:00:00','2012-12-31 16:00:00','2012-12-31 17:00:00','2012-12-31 18:00:00','2012-12-31 19:00:00','2012-12-31 20:00:00','2012-12-31 21:00:00','2012-12-31 22:00:00'],dtype='datetime64[ns]',name='date',length=17541,freq='H')
总结

以上是内存溢出为你收集整理的python – 检查日期列是否包含每年的所有小时数全部内容,希望文章能够帮你解决python – 检查日期列是否包含每年的所有小时数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1193956.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存