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