pandas.MultiIndex.from_frame#

classmethod MultiIndex.from_frame(df, sortorder=None, names=None)[源代码]#

从DataFrame创建多重索引。

参数
dfDataFrame

要转换为多索引的DataFrame。

sortorder整型,可选

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

names类似列表,可选

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

退货
MultiIndex

给定DataFrame的多索引表示形式。

参见

MultiIndex.from_arrays

将数组列表转换为多重索引。

MultiIndex.from_tuples

将元组列表转换为多重索引。

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'])