我有下面的字典,其中包含作为月份的键和一个数据框。
数据和键:
Data Period Jan'18 Data Period Jan'18 Data Period Jan'18
Churn Period Feb'18 Churn Period Mar'18 Churn Period Apr'18
Variable_Name correlation Variable_Name correlation Variable_Name correlation
Pending_Disconnect 0.553395448 Pending_Change 0.043461995 active_frq_N 0.025697016
status_Active 0.539464806 status_Active 0.038057697 active_frq_Y 0.025697016
days_active 0.414774231 ethnic 0.037503202 ethnic 0.025195149
days_pend_disco 0.392915837 days_active 0.037227245 ecgroup 0.023192408
prop_tenure 0.074321692 archetype_grp 0.035761434 age 0.023121305
abs_change_3m 0.062267386 age_nan 0.035761434 archetype_nan 0.023121305
键和数据框必须写入到excel工作表中,每个数据框和键组合之间要有间隔。
因此,数据周期来自密钥的第一部分,而搅动周期来自第二部分,在-之后。 每个数据框都包含如下数据:
Variable_Name correlation
Pending_Disconnect 0.553395448
status_Active 0.539464806
days_active 0.414774231
days_pend_disco 0.392915837
prop_tenure 0.074321692
abs_change_3m 0.062267386
有人可以帮我吗?
答案 0 :(得分:0)
1。)您应该合并字典的所有数据框并创建一个大数据框。
创建一个空的数据框:
tmp = pd.Dataframe()
遍历字典的键(假设d
)并连接dfs:
for i in d.keys():
tmp = pd.concat([tmp,d[key]], axis=1)
现在,tmp
是一个很大的df,所有较小的数据帧都是串联在一起的。
2。)在此新df blank columns
中追加tmp
。 这里的要点是,每个小df都应由带有另一个小df的空白列分隔。
因此,如果有3个小df,请将2个空白列附加到tmp
。
tmp[''] = ''
tmp[''] = ''
3。)现在,通过在小df之间插入空白列来重新构建tmp
df。
假设tmp
中的列为:
'variable_name','correlation','Attribute','Datatype', 'variable_name','correlation','Attribute','Datatype',
'variable_name','correlation','Attribute','Datatype',
'','' ## Last 2 cols are empty having blank values(step#2)
这些是所有串联的小型df的列。
现在,创建一个col_list并将空白列放在每个小df之间:
col_list = ['variable_name','correlation','Attribute','Datatype', '', 'variable_name','correlation','Attribute','Datatype', '', 'variable_name','correlation','Attribute','Datatype']
4。)按照tmp
重新安排col_list
。
tmp = tmp[col_list]
5。)现在,您已经准备好了这个大数据框,每个小数据框都由一个空白列与另一个分隔。 现在将其写入excel。
tmp.to_excel() ## Fill all required parameters and write to excel.
让我知道是否有帮助。