我想在数据帧中选择5行的移动块,但我想从数据帧的末尾开始执行此操作。由于slice参数的排他性,我在语法方面遇到了一些麻烦。
例如,以下适用于1大小的切片,因为在-1上执行iloc切片会给我最后一行...
for i in range(1, 10):
df_live = df_final.iloc[-i]
但我无法将其缩放为多行输出,如下所示......以下内容不返回任何内容:
for i in range(1, 10):
df_live = df_final.iloc[-i:-(i+5)]
而另一次尝试将忽略我的最后一条记录,因为切片排除了记录i。为最终记录执行i-1也不起作用(-0不是引用最后一行的有效方法)。
for i in range(1, 10):
df_live = df_final.iloc[-(i+5):-i]
我认为这应该很简单,但我没有运气...... TYIA
我在这里使用df.take()找到了一个可以容忍的解决方案
最终我坚持使用:
df_final.take(-(np.arange(5)+1+i)[::-1])
这将获得数据帧的全部内容,基于1到5的范围,并使用:: - 1来反转排序顺序