在pandas列中选择每n个值

时间:2017-08-03 13:18:13

标签: python pandas indexing

我想从每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())

1 个答案:

答案 0 :(得分:1)

如果使用列表类型,您可以这样做:

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]]

在此之后,您可以将列表转换为DataFrame