【问题标题】:Multiindex groupby pythonMultiindex groupby python
【发布时间】:2018-07-11 01:34:49
【问题描述】:

在 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'?

【问题讨论】:

    标签: python indexing pandas-groupby multi-index


    【解决方案1】:

    一种方法是使用 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
    

    【讨论】:

      猜你喜欢
      • 2017-04-06
      • 2018-10-28
      • 2013-06-06
      • 1970-01-01
      • 2021-05-18
      • 2021-04-04
      • 2023-03-25
      • 1970-01-01
      • 2019-12-11
      相关资源
      最近更新 更多