具有不同深度层次索引的熊猫数据框

时间:2018-11-15 06:15:14

标签: python pandas dataframe

Pandas对于具有层次索引:https://pandas.pydata.org/pandas-docs/stable/advanced.html的数据帧具有很好的功能,但是它主要针对层次深度恒定的情况。是否存在一种标准的,也许功能较少的方法来使数据框具有随深度变化的层次结构索引?

我实际上并不需要MultiIndex的部分索引,分组和堆叠/拆栈功能,而通过原始元组对列进行索引的数据框将满足我的需求。

我想做以下事情:

import pandas as pd
df = pd.DataFrame({
    ("a",):   [1],
    ("b",):   [2],
    ("x", 1): [3],
    ("x", 2): [4]
})

但是,对于我而言,在这种情况下,熊猫的默认MultiIndex有点过分急切。例如,它使第一列的“ true”索引为("a", nan)。然后df[("a",)]返回其索引以("a",)开头的所有列,例如像("a", 1)这样的列。

一种选择是做类似的事情

import pandas as pd
df = pd.DataFrame({
    "a":      [1],
    "b":      [2],
    ("x", 1): [3],
    ("x", 2): [4]
})

会创建一个由字符串和元组混合索引的数据框,但这似乎不受支持。

0 个答案:

没有答案