在python中循环浏览数据框字典

时间:2018-11-21 21:59:10

标签: python pandas loops dictionary dataframe

首先,我编写了此函数:

def writing_in_excel(path, df, sheet_name):
    writer = pd.ExcelWriter(path, datetime_format='m/d/yyyy')
    df.to_excel(writer, sheet_name = sheet_name, index=False, freeze_panes = (0,1))
    writer.save()
    writer.close()

然后,我有一个数据帧字典:

import pandas as pd    

employee = {'EmployeeID' : [0,1,2,3,4,5,6,7,8,9],
     'FirstName' : ['a','b','c','d','e','f','g','h','i','j'],
     'LastName' : ['a','b','c','d','e','f','g','h','i','j'],
     'favorite_color' : ['red','blue','green','yellow','red','red','green','blue','green','red']}

df = pd.DataFrame(employee)

by_color_df_dict = dict(tuple(df.groupby('favorite_color')))))

在“ favorite_color”中,有4个不同的值,我想通过“ favorite_color”中的4个值来创建单独的数据框。

如果运行该代码,结果将得到一个数据框字典。我想遍历字典,并使用上面定义的功能将每个数据帧另存为excelfile。

我认为我必须从以下开始:

for key, value in by_color_df_dict:

但是我不能继续浅谈。

请帮助我。

1 个答案:

答案 0 :(得分:4)

你可以做

for color_name, group in df.groupby('favorite_color'):
    writing_in_excel('file_name.xlsx', group, color_name)