Pandas series sort by month index

前端 未结 3 1400
情歌与酒
情歌与酒 2020-12-03 16:17



        
3条回答
  •  夕颜
    夕颜 (楼主)
    2020-12-03 16:57

    You can use sorted CategoricalIndex with sort_index:

    cats = ['Jan', 'Feb', 'Mar', 'Apr','May','Jun', 'Jul', 'Aug','Sep', 'Oct', 'Nov', 'Dec']
    df.index = pd.CategoricalIndex(df.index, categories=cats, ordered=True)
    df = df.sort_index()
    
    print (df)
         date
    Jan     2
    Feb     1
    Apr     1
    May     1
    Jun     1
    Jul     1
    Aug     2
    Sep     2
    Oct    14
    Nov    36
    Dec    47
    

    Or use DataFrame.reindex - but if some value is missing add NaNs rows:

    df = df.reindex(cats)
    

提交回复
热议问题