pandas.MultiIndex.from_frame #

类方法 多索引。from_frame ( df , sortorder = None , names = None ) [来源] #

从数据帧创建多重索引。

参数
df数据框

要转换为 MultiIndex 的 DataFrame。

sortorder int,可选

排序级别(必须按该级别按字典顺序排序)。

名称列表式,可选

如果未提供名称,则使用列名称或列名称元组(如果列是多索引)。如果是序列,则用给定序列覆盖名称。

返回
多重索引

给定 DataFrame 的 MultiIndex 表示。

也可以看看

MultiIndex.from_arrays

将数组列表转换为 MultiIndex。

MultiIndex.from_tuples

将元组列表转换为 MultiIndex。

MultiIndex.from_product

从可迭代的笛卡尔积创建一个多重索引。

例子

>>> df = pd.DataFrame([['HI', 'Temp'], ['HI', 'Precip'],
...                    ['NJ', 'Temp'], ['NJ', 'Precip']],
...                   columns=['a', 'b'])
>>> df
      a       b
0    HI    Temp
1    HI  Precip
2    NJ    Temp
3    NJ  Precip
>>> pd.MultiIndex.from_frame(df)
MultiIndex([('HI',   'Temp'),
            ('HI', 'Precip'),
            ('NJ',   'Temp'),
            ('NJ', 'Precip')],
           names=['a', 'b'])

使用显式名称而不是列名称

>>> pd.MultiIndex.from_frame(df, names=['state', 'observation'])
MultiIndex([('HI',   'Temp'),
            ('HI', 'Precip'),
            ('NJ',   'Temp'),
            ('NJ', 'Precip')],
           names=['state', 'observation'])