如何从现在开始7天分割日期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从现在开始7天分割日期相关的知识,希望对你有一定的参考价值。

我想从现在起7天过去分发日期。

这是我的代码。

df = pdr.get_data_yahoo('ibm',
                          start=datetime.datetime(y-5, m, d),
                          end=pd.datetime.now().date())

split_date = datetime.datetime(y, m, d-7)
train = df.loc[:split_date, ['Close']]
test = df.loc[split_date:, ['Close']]

print(train)
print("################################")
print(test)

它显示这样的结果。

............
2019-01-25  133.970001
2019-01-28  134.270004
2019-01-29  134.330002
2019-01-30  134.380005
2019-01-31  134.419998
2019-02-01  134.100006
##################################################################
                 Close
Date                  
2019-02-01  134.100006
2019-02-04  135.190002
2019-02-05  135.550003
2019-02-06  136.320007
2019-02-07  133.000000

print(test)应该显示最近7天的数据,但为什么它只显示5天,为什么2019-02-01 134.100006显示在火车和测试数据分裂应该不相同。

答案
  • 似乎您的数据集中过去7天只有5行(工作日),这就是为什么您的测试集只显示5行。
  • '2019-02-01'被列入你的火车和测试集的原因是因为df.iloc[start_ind:end_ind]检索从start_indend_ind的行。 (这在文档中作为警告提及。您可以检查here。)要正确拆分,您可以在火车测试中包括所有日期,直到8天前,并包括您的测试集中的最后7天。

以上是关于如何从现在开始7天分割日期的主要内容,如果未能解决你的问题,请参考以下文章

从今天开始获取具体日期()

PHP将剩余秒数(从现在开始)转换为日期

如何从 RCNN 中裁剪分割的对象?

JS如何获取当前时间7天或者15天后的时间

自动计算从开始日期起 90 天

液体模板过滤器中的日期数学/操作