Pandas MultiIndex具有一些不同级别的数量

时间:2018-06-15 15:17:05

标签: pandas multi-index

pandas multiIndex可能有不同数量的级别吗?例如,如果您使用的是索引A1, A2, and B,那么A有子级12,但B没有子级别?如果是这样,你怎么做?

例如,您是否可以生成如下所示的数据框:

A               B
1       2   
val1    val2    val3

我希望避免向B添加子级别的原因是我将使用此数据框创建一个如下所示的JSON对象:

[
    {
        A: {
            1: val1,
            2: val2
        },
        B: val3
    },
    ...
]

1 个答案:

答案 0 :(得分:0)

MultiIndex不支持这种行为,但您可以做的是将DataFrame重新排列为如下所示:

>>> d = {'A': {1: 'val1', 2: 'val2'}, 'B': 'val3'}
>>> pd.DataFrame(d)
    A    B
1  val1 val3
2  val2 val3

这样A [1]仍然指向val1而A [2]仍然指向val2,但唯一的复杂因素是你必须将B视为一个系列。