我有一组数据将保持静态。我还没有确定存储它的最佳格式,可能是数据帧,但我愿意接受建议
我的目标是向前滚动数据,因此我的静态数据集是最新的,但我需要保持日期的一致性。例如,如果我的静态数据如下所示:
Date Day Temp
0 01/01/2021 Fri 20
1 02/01/2021 Sat 17
2 03/01/2021 Sun 17
3 04/01/2021 Mon 16
4 05/01/2021 Tue 20
5 06/01/2021 Wed 16
6 07/01/2021 Thu 21
7 08/01/2021 Fri 19
我将拥有的最后一个数据是2021年1月8日的数据。如果我在2021年1月9日运行此数据,它将如下所示:
Date Day Temp
0 02/01/2021 Sat 17
1 03/01/2021 Sun 17
2 04/01/2021 Mon 16
3 05/01/2021 Tue 20
4 06/01/2021 Wed 16
5 07/01/2021 Thu 21
6 08/01/2021 Fri 19
7 09/01/2021 Sat 17
2021年1月9日是星期六,因此它向前滚动了数据集中2021年1月2日最后一个星期六的数据
我无法提前确定数据集将包含多少天,我可能需要将数据向前滚动多次,例如,静态数据集中的最后一个数据可能是2018年5月15日,我需要将其滚动到今天
我已经看过了numpy roll和pandas shift,但我正在努力保持日子的一致性
出于兴趣,有可能进一步改进这一点。它没有匹配最早的一天并向前滚动,而是首先尝试将最早的数据与同一个月和同一天进行匹配,以便月温度保持一致
谢谢
如果静态数据不能保证有连续的日期等,您可以使用
groupby
到与星期和月份的日期匹配的最后一条记录。如果没有任何数据匹配一周中的那一天,这将给出一个KeyError
这是您的初始df:
如果你想推出第一张唱片,你可以用多种方法。。。这将使用
shift()
,尽管这将使df['Temp']
列由于NaN而成为浮动列(如果这很重要的话)下一部分将从静态数据构建查找表
first
而不是last
李>lookup2
会删除月份索引,并为您提供数据以获取最新的匹配日期,忽略月份李>代码:
插入记录的代码如下所示。我将其包含在一个循环中,该循环每次添加第二天,以便您可以连续添加多天来测试它:
无论如何,希望这至少符合您的要求,并且您可以修改它以满足您的需要
相关问题 更多 >
编程相关推荐