pandas多级列索引自定义排序:保留level2顺序仅父级日期升序
多级列索引仅排序父层级的实现方案
你需要对DataFrame的多级列索引仅排序父级日期层、保留子层级原有顺序,最优实现方式如下:
- 核心逻辑:使用pandas内置的
sort_index方法,指定排序层级+稳定排序算法,避免子层级顺序被打乱 - 实现代码:
# axis=1指定操作列索引,level=0指定仅排序第0级(父日期层级),mergesort为稳定排序保留子级顺序 df_sorted = df.sort_index(axis=1, level=0, ascending=True, kind='mergesort')
- 参数说明:
axis=1:表示对列索引执行排序操作,若要操作行索引改为axis=0即可level=0:指定仅对索引的第0级(也就是你提到的日期父层级)执行排序,若你的日期层级不是第0级,调整为对应层级数值即可ascending=True:设置日期按升序排列,需要降序的话改为Falsekind='mergesort':选择稳定排序算法,保证同一父日期下的子层级(Checks、Check Avg等)完全保留原始顺序,不会被重新排序
内容的提问来源于stack exchange,提问作者ben890
相关产品推荐
相关产品推荐

