如何创建pandas数据帧字典,并将数据帧返回到excel工作表?

时间:2014-02-25 02:43:43

标签: python dictionary pandas

如何创建pandas数据帧字典,并将数据帧返回到excel工作表中?

大家好,

我正在学习pandas和python,我想创建一个包含一些数据帧的字典,然后我可以在每个数据帧上运行指标。对于每个唯一的群集名称(其中一列),我想创建一个数据帧(原始数据帧的子集。

然后我希望能够选择它,在其上运行指标,将结果放在一个新的数据帧中,然后使用xlsxwriter python库将原始数据帧(每个子集)放入一个单独的工作表中。

#create dictionary object

    c_dict = {}

#get a list of the unique names

c_dict= data.groupby('Cluster').groups

#create a dictionary of dataframes, one for each cluster

for cluster in c_dict.items():
    df = data[data['Cluster']==cluster
    c_dict[cluster] =df                                                        <<< im getting invalid syntax here

#go through the dictionary and create a worksheet and put the dataframe in it.

for k,v in c_dict.items():
    dataframe = GetDF(k)                                                            <<< creating worksheets and puts the data from the dataframe > worksheet is not working because of invalid syntax when trying to create dataframe dictionary ^^
    dataframe.to_excel(writer,sheet_name=k)
writer.save

#get the dataframe from the dictionary,

GetDF(dictionary_key)
          return c_dict[dictionary_key]

1 个答案:

答案 0 :(得分:4)

我认为这就是你要找的东西。正如我在评论中所说的那样,它可能不是正确的解决方案,而且对于pandas DataFrames来说绝对不是偶像。

import pandas as pd

groups = data.groupby('Cluster')

#create a dictionary of dataframes, one for each cluster
c_dict = {k: pd.DataFrame(v) for k, v in groups.groups.iteritems() }

如果要将其保存到Excel文件,则文档位于:  http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_excel.html

底部有一个很好的例子可以满足您的需求。提示:使用for k,v in myDict.iteritems()获取密钥和值。