Python 选择列中的每n个值

Python 选择列中的每n个值,python,pandas,indexing,Python,Pandas,Indexing,我想从每3个值的列中进行选择 例如: Input 12 73 56 33 16 output 12 73 56 ------ 73 56 3

我想从每3个值的列中进行选择

例如:

  Input
   12 
   73
   56 
   33
   16


                  output
                    12
                    73
                    56 
                    ------
                    73
                    56
                    33
                    -----
                    56
                    33
                    16
我试图添加一个键列并按它分组,但我的数据帧太大,无法执行分组。以下是我的尝试:

df.groupby('key').agg(lambda x: x.tolist())

如果使用列表类型,可以执行以下操作:

lst = [12,73,56,33,16]
slide_size=3
result = []

for i in range(0,len(lst)-slide_size+1):
    result.append(lst[i:i+3])

result

# output : [[12, 73, 56], [73, 56, 33], [56, 33, 16]]

在此之后,您可以将列表转换为数据帧

我不理解您想要的输出。新列中的行不是其他列的3倍吗?是否需要将输出与表中的其他数据关联?有了列表,这将非常容易。不完全是3倍多,但窗口幻灯片的数量乘以窗口大小(=3)。这就是我想要的。它不必与其他数据相关。