通过迭代创建单独的数据帧

时间:2016-02-12 01:19:12

标签: python pandas

我有这样的df:

Year  Month  Day
1984  01     01
1984  02     01
1985  01     01
1985  02     01
1986  01     01
1986  02     01

我希望根据年份和月份创建单独的数据框。因此,每个Year == 1984Month == 01都会获得自己的数据框。每个Year == 1985month == 01都有自己的数据框。因此,对于每年和每月可能的组合,我需要一个新的数据框。这是一个简化的例子,因为我每年从1984年到2011年。我知道我可以使用.isin手动执行此操作,但如果可能的话我想自动执行此操作。我希望这是有道理的。

1 个答案:

答案 0 :(得分:0)

您可以使用嵌套列表解析。

dfs = {year: {month: pd.DataFrame() for month in range(1, 13)} 
       for year in df.Year.unique()}

这会返回一个嵌入年份和月份的嵌套字典,其中包含一个空数据框(您没有指定数据框要包含的内容......)