pandas.MultiIndex.from_frame#
- classmethod MultiIndex.from_frame(df, sortorder=None, names=None)[源代码]#
从 DataFrame 创建 MultiIndex。
- Parameters:
- dfDataFrame
要转换为 MultiIndex 的 DataFrame。
- sortorderint, optional
排序级别(必须按该级别进行词典排序)。
- names类列表,可选
如果没有提供名称,则使用列名,如果列是 MultiIndex,则使用列名元组。如果是一个序列,则用给定的序列覆盖名称。
- Returns:
- MultiIndex
给定 DataFrame 的 MultiIndex 表示。
参见
MultiIndex.from_arrays将数组列表转换为 MultiIndex。
MultiIndex.from_tuples将元组列表转换为 MultiIndex。
MultiIndex.from_product从可迭代对象的笛卡尔积创建 MultiIndex。
Examples
>>> 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'])