Python 将数据帧/系列拆分为每个可能的区块

Python 将数据帧/系列拆分为每个可能的区块,python,pandas,dataframe,Python,Pandas,Dataframe,我正在尝试将一个数据帧拆分为多个子数据帧。到目前为止,我正在使用: a=pd.系列(1,2,3,4,5,6,7,8,9,10) df=pd.DataFrame(数据=a) def拆分(df,chunkSize=3): 返回np.array\u split(df,chunkSize) 问题是,这会返回3个数据帧(123;456;789),但我试图得到的是df中包含的3个数字的每个可能的块。在这个例子中:(12323434565678910)。 我知道关于拆分数据帧的其他问题,但我仍然找不到这个具

我正在尝试将一个数据帧拆分为多个子数据帧。到目前为止,我正在使用:

a=pd.系列(1,2,3,4,5,6,7,8,9,10)
df=pd.DataFrame(数据=a)
def拆分(df,chunkSize=3):
返回np.array\u split(df,chunkSize)
问题是,这会返回3个数据帧(123;456;789),但我试图得到的是df中包含的3个数字的每个可能的块。在这个例子中:(12323434565678910)。 我知道关于拆分数据帧的其他问题,但我仍然找不到这个具体问题。 有没有简单的方法可以解决这个问题?

这里有一种方法:

import itertools
def split_chunk(series,chunk):
    return [[*g][0] for k,g in (itertools.groupby([*itertools.combinations(series,chunk)]
                                         ,key=operator.itemgetter(0)))]

split_chunk(df[0],3)

输出:

[(1, 2, 3),
 (2, 3, 4),
 (3, 4, 5),
 (4, 5, 6),
 (5, 6, 7),
 (6, 7, 8),
 (7, 8, 9),
 (8, 9, 10)]

它表示未定义“操作员”名称。代码中缺少什么吗?@Elias在运行此操作之前,只需执行导入操作符