【发布时间】:2018-02-02 21:48:29
【问题描述】:
我有一个这样的数据框:
df = pd.DataFrame({
'Client':['A','B','C','D','E'],
'Revenue':[100,120,50,40,30],
'FYoQ':['FY','Q','Q','Q','FY'],
'Quarter':[np.nan,1,3,4,np.nan],
'Year':[2017,2016,2015,2017,2016]
})
如何拆分数据框以获得二维字典数据框
ds[year][quarter] 表示每年和每季度。
现在我可以按如下方式制作一维字典:
years=df['Year'].unique().tolist()
mc={elem:pd.DataFrame for elem in years}
for year in years:
mc[year]=df.loc[(df['Year']==year)]
这样我获得了数据框 mc[2015]、mc[2016] 等的字典。
然后我必须再次对他们每个人应用相同的东西。
我希望对代码进行修改:
mc={elem:pd.DataFrame for elem in years}
一次创建一个二维(甚至是多维字典),从而可以更快地拆分数据。
【问题讨论】:
标签: python pandas dictionary dataframe group-by