pandas.MultiIndex#

class pandas.MultiIndex(levels=None, codes=None, sortorder=None, names=None, copy=False, name=None, verify_integrity=True)[源代码]#

pandas 对象的多元索引或分层索引。

参数:
levelssequence of arrays

每一层的唯一标签。

codessequence of arrays

每一层的整数,指定每个位置上的标签。

sortorderoptional int

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

namesoptional sequence of objects

每一层索引的名称。(为了兼容性接受 name 参数)。

copybool,默认值 False

复制元数据。

nameLabel

为与一维 Index 的兼容性而保留。不应使用。

verify_integritybool, default True

检查 levels/codes 是否一致且有效。

属性

names

MultiIndex 中级别的名称。

levels

MultiIndex 的级别。

codes

MultiIndex 的代码。

nlevels

此 MultiIndex 中级别的数量。

levshape

一个元组,表示 MultiIndex 中每个级别的长度。

数据类型

为底层 MultiIndex 返回 dtype 作为 Series。

Methods

from_arrays(arrays[, sortorder, names])

将数组转换为 MultiIndex。

from_tuples(tuples[, sortorder, names])

将元组列表转换为 MultiIndex。

from_product(iterables[, sortorder, names])

从多个可迭代对象的笛卡尔积创建 MultiIndex。

from_frame(df[, sortorder, names])

从 DataFrame 创建 MultiIndex。

set_levels(levels, *[, level, verify_integrity])

在 MultiIndex 上设置新级别。

set_codes(codes, *[, level, verify_integrity])

在 MultiIndex 上设置新代码。

to_frame([index, name, allow_duplicates])

创建一个 DataFrame,其中 MultiIndex 的级别作为列。

to_flat_index()

将 MultiIndex 转换为包含级别值的元组的 Index。

sortlevel([level, ascending, ...])

在请求的级别上对 MultiIndex 进行排序。

droplevel([level])

返回移除指定 level(s) 的 Index。

swaplevel([i, j])

交换级别 i 和级别 j。

reorder_levels(order)

使用输入顺序重新排列级别。

remove_unused_levels()

从当前 MultiIndex 创建新的 MultiIndex,以删除未使用的级别。

get_level_values(level)

返回请求 level 的标签值向量。

get_indexer(target[, method, limit, tolerance])

给定当前索引,计算新索引的 indexer 和 mask。

get_loc(key)

获取标签或标签元组的位置。

get_locs(seq)

获取标签序列的位置。

get_loc_level(key[, level, drop_level])

获取请求标签/级别的 location 和切片索引。

drop(codes[, level, errors])

通过传递的代码列表删除,创建一个新的 pandas.MultiIndex

另请参阅

MultiIndex.from_arrays

将数组列表转换为 MultiIndex。

MultiIndex.from_product

从可迭代对象的笛卡尔积创建 MultiIndex。

MultiIndex.from_tuples

将元组列表转换为 MultiIndex。

MultiIndex.from_frame

从 DataFrame 创建 MultiIndex。

索引

基础 pandas Index 类型。

注意

更多信息请参阅 用户指南

示例

一个 MultiIndex 通常使用辅助方法 MultiIndex.from_arrays()MultiIndex.from_product()MultiIndex.from_tuples() 来构建。例如(使用 .from_arrays

>>> arrays = [[1, 1, 2, 2], ["red", "blue", "red", "blue"]]
>>> pd.MultiIndex.from_arrays(arrays, names=("number", "color"))
MultiIndex([(1,  'red'),
            (1, 'blue'),
            (2,  'red'),
            (2, 'blue')],
           names=['number', 'color'])

有关如何构建 MultiIndex 的更多示例,请参阅上述辅助方法的文档字符串。