我有一个庞大的数据框,如下所示:(我刚刚将代表的数据框样本放到只有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
我正在寻找的是基于两列“计划”和“标志”,基于这些列中的元素组将数据帧分为多个数据帧。我需要它,因为基于此,我将提供这些数据帧以进行其他处理。
因此,我希望拆分后的数据帧看起来像这样:
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)
不幸的是,我无法以所需的格式恢复数据帧。实际上,我将键(组)作为不需要的列。我想保持相同的数据帧,但根据我上面提到的两列划分为子组。
任何帮助将不胜感激!
答案 0 :(得分:1)
尝试使用ValueError: cannot reshape array of size 47040000 into shape (28,28,1,1)
groupby