我有这样一个数据帧:
closingDate Time Last
0 1997-09-09 2018-12-13 00:00:00 1000
1 1997-09-09 2018-12-13 00:01:00 1002
2 1997-09-09 2018-12-13 00:02:00 1001
3 1997-09-09 2018-12-13 00:03:00 1005
我想创建一个数据帧,其中大约有1440列标记为时间戳,其中相应的每日值是前一分钟的返回值:
closingDate 00:00:00 00:01:00 00:02:00
0 1997-09-09 2018-12-13 -0.08 0.02 -0.001 ...
1 1997-09-10 2018-12-13 ...
我的问题是,这是一个非常大的数据帧(几GB),我需要多次执行此操作。时间和记忆效率是关键,但时间更重要。有没有一些矢量化的、内置的方法可以在熊猫身上做到这一点?你知道吗
您可以通过一些聚合和移动时间序列来实现这一点,这将导致更高效的计算。你知道吗
首先通过
closingDate
聚合数据。你知道吗接下来,您可以将数据偏移一天。你知道吗
这将创建一个新的数据帧,其中
Last
值将来自前一分钟。现在您可以基于索引连接到原始数据帧。你知道吗这会将移位的列添加到新的数据帧中,您可以使用该数据帧进行差异计算。你知道吗
你现在有了你要找的所有数据。如果你想让每一分钟都成为自己的专栏,你可以把结果作为轴心。通过对
closingDate
进行分组,然后应用轮班制,可以避免日期跨天移动。如果你观察每天的第一次观察,你会得到一个NaN
,因为这些值不会在不同的日子里移动。你知道吗相关问题 更多 >
编程相关推荐