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 的代码。
此 MultiIndex 中的整数级别数。
一个表示 MultiIndex 中每一层长度的元组。
返回底层 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 的级别作为列。
将 MultiIndex 转换为包含级别值的元组索引。
sortlevel([level, ascending, ...])在请求的级别对 MultiIndex 进行排序。
droplevel([level])返回移除了请求级别的索引。
swaplevel([i, j])交换层级 i 与层级 j。
reorder_levels(order)使用输入顺序重新排列级别。
从当前索引创建一个新的 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 的更多示例。