【发布时间】:2020-06-26 08:30:54
【问题描述】:
我正在将一系列数据从 1 分钟间隔转换为 5 分钟间隔。为此,我使用 pandas 的滚动和求和函数,然后尝试以 5 步进行切片。这对我来说很有意义,总结所有内容,然后获取包含我想要的信息的行,即每 5 行。
但是,我的代码并没有按照我的意图进行切片,而是忽略了操作的第 0 行。在附图中,左列是切片代码,右列是未切片代码。正如Picture of Results 所示,第一个切片发生在第 5 行而不是第 4 行(第 5 个数据条目)。我在切片中得到了正确的长度,但显然没有得到我需要的所有数据。我的代码在下面,左边是 tmpL,右边是 tmpR。我希望返回第 4 行和第 9 行,而不是第 5 行和第 10 行。我应该使用什么正确的表示法?
tmpL = df.rolling(window=5).sum()[::5]
tmpR = df.rolling(window=5).sum()
【问题讨论】:
-
[::5]表示取元素[0]、[5]、[10]...取[4]、[9]...你可以使用[4::5]。 -
这对我理解 Slices 非常有帮助,但由于您的回答方式,我不知道如何将其标记为已解决。