pandas.MultiIndex#

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

一个用于 pandas 对象的多级或层次索引对象。

参数:
levels数组序列

每个级别的唯一标签。

代码数组序列

每个级别的整数,指定每个位置的标签。

sortorder可选的 int

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

名字可选的对象序列

每个索引级别的名称。(为了兼容性,接受 name)。

dtypeNumpy dtype 或 pandas 类型,可选

MultiIndex 的数据类型。

复制布尔值, 默认为 False

复制元数据。

名称标签

保留以兼容一维索引。不应使用。

verify_integritybool, 默认为 True

检查级别/代码是否一致且有效。

属性

名称

MultiIndex 中的级别名称。

层级

MultiIndex 的层级。

代码

MultiIndex 的代码。

nlevels

此 MultiIndex 中的整数级别数。

levshape

一个表示 MultiIndex 中每一层长度的元组。

dtypes

返回底层 MultiIndex 的 dtypes 作为一个 Series。

方法

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 转换为包含级别值的元组索引。

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

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

droplevel([level])

返回移除了请求级别的索引。

swaplevel([i, j])

交换层级 i 与层级 j。

reorder_levels(order)

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

remove_unused_levels()

从当前索引创建一个新的 MultiIndex,删除未使用的级别。

get_level_values(level)

返回请求级别的标签值向量。

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

计算给定当前索引的新索引的索引器和掩码。

get_loc(key)

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

get_locs(seq)

获取一系列标签的位置。

get_loc_level(key[, level, drop_level])

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

删除(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 的更多示例。