我有两个数据框,其中包含许多列和行,其结构与下面的示例相同:
DF1:
Time Group Var1 Var2 Var3
1/1/2016 A 0.1 1.1 2.1
2/1/2016 A 0.2 1.2 2.2
1/1/2016 B 3.5 4.5 5.5
2/1/2016 B 3.6 4.6 5.6
DF2:
Time Group Var1 Var2 Var3
1/1/2016 A 0.3 1.3 2.3
2/1/2016 A 0.4 1.4 2.4
1/1/2016 B 3.7 4.7 5.7
2/1/2016 B 3.8 4.8 5.8
我想编写一个代码,每列创建一个图,每个组都有Time
作为x轴,并在同一个图上绘制每个数据框中具有相同名称的列。
我能够编写一个执行此操作但不会因组而异的代码:
df1_agg = df1.groupby(by =['Time']).sum()
df2_agg = df2.groupby(by =['Time']).sum()
def plots_all_columns(col_names, filename):
with PdfPages(filename) as pdf:
for i in col_names:
plt.figure()
df1_agg[i].plot(label="df1", legend=True, title = i)
df2_agg[i].plot(label="df2", legend=True)
pdf.savefig()
plt.close('all')
我怎么能像上面那样做,但在我的数据框中保持Group维度?我有很多小组,所以我需要为每个小组类别单独绘制一个小区。
谢谢。