我有一个巨大的数据框,如下所示:(我刚刚把一个代表性的数据框样本放在只有10行的地方。但是,即使对于10000行,数据模式也将保持不变。)
Input:
df =
unique_id target value response scan plan filter flag
CTA15 21.00 19.0 25.7 T1 TROY 1 f1a
CTA15 21.00 22.0 22.9 T2 TROY 1 f1a
CTA15 21.00 28.0 36.0 T2 TROY 0 f1b
CTA15 21.00 18.0 7.0 T3 TROY 1 f2
CTA15 21.00 22.4 32.4 T3 TROY 1 be
AC007 1.80 2.0 28.9 E1 TROY 0 be
BGD1 0.89 1.6 14.6 TT1 VICT 1 f1a
GHB 56.80 51.0 11.0 YU1 VICT 1 f1b
GHB 56.80 54.0 84.9 YU1 VICT 1 f2
GHB 56.80 4.7 48.7 YU6 VICT 1 be
我想要的是基于两列“plan”和“flag”将数据框拆分为多个数据框,这两列是基于这些列中的元素组的。我需要它,因为基于此,我将为其他处理提供这些数据帧。你知道吗
因此,我希望拆分时的数据帧如下所示:
Output:
df1 =
unique_id target value response scan plan filter flag
CTA15 21.00 19.0 25.7 T1 TROY 1 f1a
CTA15 21.00 22.0 22.9 T2 TROY 1 f1a
df2 =
unique_id target value response scan plan filter flag
CTA15 21.00 28.0 36.0 T2 TROY 0 f1b
df3 =
unique_id target value response scan plan filter flag
CTA15 21.00 18.0 7.0 T3 TROY 1 f2
df4 =
unique_id target value response scan plan filter flag
CTA15 21.00 22.4 32.4 T3 TROY 1 be
AC007 1.80 2.0 28.9 E1 TROY 0 be
df5 =
unique_id target value response scan plan filter flag
BGD1 0.89 1.6 14.6 TT1 VICT 1 f1a
df6 =
unique_id target value response scan plan filter flag
GHB 56.80 51.0 11.0 YU1 VICT 1 f1b
df7 =
unique_id target value response scan plan filter flag
GHB 56.80 54.0 84.9 YU1 VICT 1 f2
df8 =
unique_id target value response scan plan filter flag
GHB 56.80 4.7 48.7 YU6 VICT 1 be
我试着根据以下两个组创建词典:
grCols = ['plan', 'flag']
mydict = dict(tuple(df.groupby(grCols)))
dfnew = pd.DataFrame().append(mydict, ignore_index=True)
不幸的是,我无法恢复输出中所需格式的数据帧。事实上,我得到的键(组)列,我从来没有想要的。我希望保持相同的数据帧,但根据上面提到的两列将其拆分为子组。你知道吗
任何帮助都将不胜感激!你知道吗
尝试使用
groupby
相关问题 更多 >
编程相关推荐