【问题标题】:Pandas - Changing order of multiple-headers in Panda DataframePandas - 在 Panda Dataframe 中更改多个标题的顺序
【发布时间】:2021-01-14 03:13:02
【问题描述】:

我有一个索引为 column=0 和两个标题行的 pandas 数据框,看起来像这样

1     2     3     4
Grid Year  Lat   Lon
_________________________
1  2002  51.52  -0.12
2  2003  51.52  -0.12 

我想把两个标题栏的顺序改成

Grid Year  Lat   Lon
1     2     3     4
__________________________
1  2002  51.52  -0.12
2  2003  51.52  -0.12 

有人有解决方案的提示吗?我尝试在网上找到一个好的解决方案,但没有人为我提供任何成功的线索。

【问题讨论】:

    标签: pandas dataframe slice multi-index


    【解决方案1】:

    假设这是您的数据框,

    print(df)
    
         1     2      3      4 <-- multi index
      Grid  Year    Lat    Lon <-- multi index
    1    1  2002  51.52  -0.12
    2    2  2003  51.52  -0.12
    

    我们可以使用方便的.swaplevel 方法交换关卡。

    阅读更多here

    df.columns = df.columns.swaplevel(0)
    #or 
    #df.columns = df.swaplevel(0,axis=1)
    
      Grid  Year    Lat    Lon
         1     2      3      4
    1    1  2002  51.52  -0.12
    2    2  2003  51.52  -0.12
    

    【讨论】:

    • 是的,谢谢,它运行良好。我的数据框虽然如上所述,是使用 read_csv(index_col = 0) 将其读入 python,所以我的解决方案中没有额外的索引列。但是,它也很有效!
    • @gusbacos 啊,试试pd.read_csv(file,header=[0,1]) :)
    猜你喜欢
    • 2018-07-28
    • 1970-01-01
    • 1970-01-01
    • 2023-01-13
    • 1970-01-01
    • 2021-09-28
    • 1970-01-01
    • 2021-01-26
    相关资源
    最近更新 更多