Python 将大数据帧拆分为较小的数据帧,并且在数据帧中没有重复的标签

Python 将大数据帧拆分为较小的数据帧,并且在数据帧中没有重复的标签,python,pandas,Python,Pandas,我有一个数据帧,如: Time, Col1, Col2, ... , label . . . label1 . . . label2 . . . label3 . . . label1 . . . label2 . . . label3 我想将数据帧拆分为n个较小的数据

我有一个数据帧,如:

Time, Col1, Col2, ... , label

.     .     .           label1 
.     .     .           label2 
.     .     .           label3
.     .     .           label1 
.     .     .           label2
.     .     .           label3
 

我想将数据帧拆分为n个较小的数据帧,但我根本不希望标签重复。有没有一种方法可以轻松做到这一点?我现在正在使用熊猫。我试着玩指数游戏,但没走多远,如果我这么做了,速度会非常慢。我觉得有一个简单的方法可以做到这一点,但找不到它

你可以
groupby
使用
cumcount

G = df.groupby(df.groupby('label').cumcount())

d = {x : y for x , y in G}

您可以使用
cumcount

G = df.groupby(df.groupby('label').cumcount())

d = {x : y for x , y in G}

您可以使用复制功能:

df_1 = df[~df.duplicated(subset=['label'])]
df = df[df.duplicated(subset=['label'])]

并反复使用该函数,直到不再有重复项为止

您可以使用重复函数:

df_1 = df[~df.duplicated(subset=['label'])]
df = df[df.duplicated(subset=['label'])]

然后迭代,直到不再有重复项

标签总是连续的吗?标签总是连续的吗?你在中有
两次,这应该是
d={x:y代表x,y代表G}
或者像@BEN_-YO很久以前教过我的那样
d=dict(tuple(df.groupby(df.groupby('label').cumcount()))
你在
中有两次
,这应该是
d={x:y代表x,y代表G}
或者像@BEN_-YO很久以前教过我的那样
d=dict(元组(df.groupby(df.groupby('label').cumcount()))