我有这种dataFrame,我想将其拆分为单独的dataframe:
A B C Mark
3 5 6 T
4 5 2 T
3 4 5 B
5 6 7 B
3 4 5 T
2 5 2 T
例如,上表应分为三个熊猫数据框。第一个数据帧将标记为“ T”的两行作为一个数据帧,第二个数据帧将标记为“ B”的接下来的两行与第三数据帧将标记为“ T”的最后两行。
df1
A B C Mark
3 5 6 T
4 5 2 T
df2
A B C Mark
3 4 5 B
5 6 7 B
df3
A B C Mark
3 4 5 T
2 5 2 T
创建一个字典,如下所示:
frames = {}
for i, grp in df.groupby(df.Mark.ne(df.Mark.shift()).cumsum()):
frames.update([('df_'+str(i),grp)])
{'df_1': A B C Mark
0 3 5 6 T
1 4 5 2 T, 'df_2': A B C Mark
2 3 4 5 B
3 5 6 7 B, 'df_3': A B C Mark
4 3 4 5 T
5 2 5 2 T}
然后,您可以将所有df打印为:
print(frames['df_1'])
A B C Mark
0 3 5 6 T
1 4 5 2 T
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句