python - 在熊猫中,有没有办法在两个日期之间创建时间跨度?
问题描述
问这个问题相当令人困惑,因为我知道有些日期范围会在两个日期之间创建日期(这不是我想要的)。
相反,我正在寻找的实际上是一个开始到结束。我计划制作一个索引格式为YYYY-MM-DD - YYYY-MM-DD
.
因此,第一行的索引为2000-01-01 - 2001-01-01
,第二行的索引为2000-01-02 - 2001-01-02
,第三行的索引为2000-01-03 - 2001-01-03
,等等。有没有办法做到这一点(或类似的事情)?我正在考虑创建一个将两个 datetime.date 对象配对在一起的类,但我很犹豫,因为我确信这样做有更充实的方式。
解决方案
抱歉,如果我没有正确理解您的问题,
from datetime import datetime, timedelta
def datetime_range(dt_1=None, dt_2=None, span=None):
for i in range(span + 1):
yield dt_1 + timedelta(days=i), dt_2 + timedelta(days=i)
dt_1, dt_2 = datetime(2014, 1, 1), datetime(2015, 1, 1)
for date_1,date_2 in datetime_range(dt_1, dt_2, 10):
print(date_1, date_2) #.date() if needed..
# o/p's
2014-01-01 00:00:00 2015-01-01 00:00:00
2014-01-02 00:00:00 2015-01-02 00:00:00
2014-01-03 00:00:00 2015-01-03 00:00:00
2014-01-04 00:00:00 2015-01-04 00:00:00
2014-01-05 00:00:00 2015-01-05 00:00:00
2014-01-06 00:00:00 2015-01-06 00:00:00
...
推荐阅读
- android - 检测我的设备的蓝牙何时被禁用
- facebook - 为什么 follower_count 洞察指标返回给定日期的新关注者数量,而不是关注的唯一用户总数?
- java - Android,无法解析 ImageDecoder
- android - android kotlin 片段操作栏标题
- python - 几乎相同的副本,只是长度不同
- python - 使用 Python 3 从列表中生成所有可能的顺序字符串
- smartcard - chipTAN:没有 PIN 怎么可能?
- c# - Linq Select with Or 语句 VS 单独的查询
- c# - Visual Studio 2012 Resharper 菜单不显示
- python-3.x - 使用地图作为随机森林分类器的输入