为数据框创建多列索引

Creating Multi -Column Index for a Dataframe

是否可以将单级列数据框更改为多列数据框?如果我们有这样的数据框,

import pandas as pd
    
df = pd.DataFrame({
    'a': [0, 1, 2, 3],
    'b': [4, 5, 6, 7],
    'c': [3, 5, 6, 2],
    'd': [1, 5, 7, 0],
})

我们可以像下面这样更改它的列名吗?。所以,简而言之,我想做的是在不更改数据框值的情况下拥有 2 级列索引。

    A       B
    a   b   c   d
0   0   4   3   1
1   1   5   5   5
2   2   6   6   7
3   3   7   2   0

有什么帮助吗?

IIUC,使用pd.MultiIndex.from_tuples创建多索引头并赋值给dataframe.columns:

df = pd.DataFrame({
    'a': [0, 1, 2, 3],
    'b': [4, 5, 6, 7],
    'a2': [3, 5, 6, 2],
    'b2': [1, 5, 7, 0],
})

df.columns=pd.MultiIndex.from_tuples([('A','a'),('A','b'),('B','c'),('B','d')])
df

输出:

   A     B   
   a  b  c  d
0  0  4  3  1
1  1  5  5  5
2  2  6  6  7
3  3  7  2  0