为数据框创建多列索引

时间:2021-02-02 21:52:32

标签: 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],
})

我们可以如下更改它的列名吗?所以,简单地说,我想要做的是在不更改数据帧值的情况下拥有 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

有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

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