【问题标题】:Writing a dict with keys and dataframes to an excel sheet using python使用 python 将带有键和数据框的 dict 写入 excel 工作表
【发布时间】:2018-10-31 04:54:00
【问题描述】:

我有以下字典,其中包含月份和数据框的键。

数据和键:

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 工作表,每个数据框和组合键之间有间隔。

所以 Data Period 来自 key 的第一部分,churn period 来自第二部分,after - 。 每个数据框包含如下所示的数据:

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 

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: python excel pandas


    【解决方案1】:

    1.) 您应该连接字典的所有数据框并创建一个大数据框。

    创建一个空数据框:

    tmp = pd.Dataframe()
    

    遍历字典的键(比如d)并连接 dfs:

    for i in d.keys():
        tmp = pd.concat([tmp,d[key]], axis=1)
    

    现在,tmp 是一个很大的 df,其中连接了所有较小的数据帧。

    2.) 在这个新的 df tmp 中追加 blank columns这里的重点是,每个小的df都应该用一个空白列和另一个小的df隔开。

    所以,如果有 3 个小 df,则将 2 个空白列附加到 tmp

    tmp[''] = ''
    tmp[''] = ''
    

    3.) 现在,通过在小 dfs 之间放置空白列来重新构建您的 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)

    这些是连接的所有小 dfs 的列。

    现在,创建一个 col_list 并在每个小 df 之间放置一个空白列:

    col_list = ['variable_name','correlation','Attribute','Datatype', '', 'variable_name','correlation','Attribute','Datatype', '', 'variable_name','correlation','Attribute','Datatype']
    

    4.) 按照col_list重新排列tmp

    tmp = tmp[col_list]
    

    5.) 现在,您已经准备好这个大数据框,每个小数据框都由一个空白列与另一个小数据框分隔。 立即将其写入 excel。

    tmp.to_excel() ## Fill all required parameters and write to excel.
    

    如果这有帮助,请告诉我。

    【讨论】:

      猜你喜欢
      • 2019-08-23
      • 2020-09-30
      • 1970-01-01
      • 2015-11-18
      • 1970-01-01
      • 2013-11-29
      • 1970-01-01
      • 1970-01-01
      • 2016-04-18
      相关资源
      最近更新 更多