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()))