Multiindex Groupby Python

时间:2018-07-11 01:34:50

标签: python indexing pandas-groupby multi-index

在groupby和排序值递减使用后,我有一个这样的Multiindex数据框

peak = df.groupby(["month_year"]).apply(lambda x: x.sort_values(["Usage"], ascending = False)

                  DateTime	       Usage
month_year								
2012-01	  2055	2012-01-22 10:00:00	55	
          351	2012-01-04 16:00:00	52	
         .....
2012-12	 34545	2012-12-25 20:30:00	22
         34505	2012-12-25 10:30:00	21

如何仅保留每个month_year的第一行的索引?换句话说,我只想保留'2055'和'34545'?

1 个答案:

答案 0 :(得分:0)

一种方法是使用reset_index和groupby:

df1.reset_index(level=1).groupby('month_year').first()

输出:

            level_1             DateTime  Usage
month_year                                     
2012-01        2055  2012-01-22 10:00:00     55
2012-12       34545  2012-12-25 20:30:00     22