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 是否一致且有效。
属性
MultiIndex 中级别的名称。
MultiIndex 的级别。
MultiIndex 的代码。
此 MultiIndex 中级别的数量。
一个元组,表示 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 的级别作为列。
将 MultiIndex 转换为包含级别值的元组的 Index。
sortlevel([level, ascending, ...])在请求的级别上对 MultiIndex 进行排序。
droplevel([level])返回移除指定 level(s) 的 Index。
swaplevel([i, j])交换级别 i 和级别 j。
reorder_levels(order)使用输入顺序重新排列级别。
从当前 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 的更多示例,请参阅上述辅助方法的文档字符串。