Pandas 为数据帧创建多列索引

Pandas 为数据帧创建多列索引,pandas,dataframe,multiple-columns,multi-index,Pandas,Dataframe,Multiple Columns,Multi Index,是否可以将单级列数据帧更改为多列数据帧?如果我们有这样的数据帧 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], }) 我们可以按如下方式更改它的列名吗?。所以,简单地说,我想做的是在不改变dataframe值的情况下拥有两级列索引 A B a

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

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],
})
我们可以按如下方式更改它的列名吗?。所以,简单地说,我想做的是在不改变dataframe值的情况下拥有两级列索引

    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\元组创建多索引标题并分配给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

您的输入代码没有生成预期的数据帧。@Scott Boston谢谢您的通知,我已经更正了