首页 > 解决方案 > 为数据框创建多列索引

问题描述

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

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

有什么帮助吗?

标签: pandasdataframemultiple-columnsmulti-index

解决方案


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

推荐阅读