Написание dict с ключами и фреймами данных на листе Excel с использованием Python - PullRequest
0 голосов
/ 31 октября 2018

У меня есть словарь, который содержит ключ в виде месяцев и датафрейм.

enter image description here

Данные и ключи:

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 с разрывом / с между каждым фреймом данных и комбинацией клавиш.

enter image description here

Таким образом, Период данных берется из первой части ключа, а период оттока - из второй части, после -. Каждый фрейм данных содержит данные, которые выглядят следующим образом:

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 

Может кто-нибудь, пожалуйста, помогите мне с этим?

1 Ответ

0 голосов
/ 31 октября 2018

1.) Вы должны объединить все данные в словаре и создать большой файл данных.

Создать пустой фрейм данных:

tmp = pd.Dataframe()

Перебирайте ключи вашего словаря (скажем, d) и объединяйте dfs:

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

Теперь tmp - это большой df со сцепленными всеми меньшими кадрами данных.

2.) Добавить blank columns в этот новый df tmp. Дело в том, что каждый маленький df должен быть отделен пустым столбцом с другим маленьким df.

Итак, если есть 3 маленьких df, добавьте 2 пустых столбца к tmp.

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

3.) Теперь измените структуру tmp df, поместив пустые столбцы между маленькими dfs.

Предположим, столбцы в 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.) Переставить tmp согласно col_list.

tmp = tmp[col_list]

5.) Теперь у вас есть готовый большой кадр данных, в котором каждый маленький кадр данных разделен пустым столбцом с другим. Теперь запишите это в excel.

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

Дайте мне знать, если это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...