从今天的日期中提取数据块,直到未来“ n”周

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从今天的日期中提取数据块,直到未来“ n”周相关的知识,希望对你有一定的参考价值。

我想编写代码以削减包含每周预测数据的数据框,以从今天起返回“ n”周的预测长度。

我的数据框的一个玩具示例如下:

data4 = pd.DataFrame({'Id' : ['001','002','003'],
                      '2020-01-01' : [4,5,6],
                      '2020-01-08':[3,5,6],
                      '2020-01-15': [2,6,7],
                      '2020-01-22': [2,6,7],
                      '2020-01-29': [2,6,7],
                      '2020-02-5': [2,6,7],
                      '2020-02-12': [4,4,4]})

    Id  2020-01-01  2020-01-08  2020-01-15  2020-01-22  2020-01-29  2020-02-5  
0  001           4           3           2           2           2          2   
1  002           5           5           6           6           6          6   
2  003           6           6           7           7           7          7   

   2020-02-12  
0           4  
1           4  
2           4 

我正在尝试获得:

dataset_for_analysis = pd.DataFrame({'Id' : ['001','002','003'],
                                  '2020-01-15': [2,6,7],
                                  '2020-01-22': [2,6,7],
                                    '2020-01-29': [2,6,7],
                                    '2020-02-5': [2,6,7]})

    Id  2020-01-15  2020-01-22  2020-01-29  2020-02-5
0  001           2           2           2          2
1  002           6           6           6          6
2  003           7           7           7          7

我已经从日期时间文档中了解到这一点。

dataset_for_analysis = data4.datetime.datetime.today+ pd.Timedelta('3 weeks')

并给我错误:

    return object.__getattribute__(self, name)
AttributeError: 'DataFrame' object has no attribute 'datetime'

我对如何使用今天的日期时间和timedelta感到有些困惑,特别是因为我正在使用每周数据。有没有办法获取我所在的一年中的当前星期,而不是一天?有人对此有帮助吗?谢谢!

答案

您可以简单地使用熊猫内置函数:

dataset_for_analysis = pd.datetime.today() + pd.Timedelta('3W')
另一答案
dataset_for_analysis = pd.to_datetime('today').week + 4

以上是关于从今天的日期中提取数据块,直到未来“ n”周的主要内容,如果未能解决你的问题,请参考以下文章

Python从特定日期提取周数

Python使用提取的正则表达式创建一个新列,直到 \n 从数据框中

R:如何从时间序列中提取日期

如何从单元格中提取日期并将其与今天的日期进行比较

使用 PHP 从日期(月)确定周数

SQL查询以逐块获取最新数据