pandas.MultiIndex.get_level_values#

MultiIndex.get_level_values(level)[源代码][源代码]#

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

返回的向量长度等于索引的长度。get_level_values 方法是从 MultiIndex 中提取特定层级值的关键工具。这个函数在处理多层级数据时特别有用,允许你在不处理整个 MultiIndex 结构的复杂性的情况下隔离和操作单个层级。它无缝处理基于整数和字符串的层级访问,提供了灵活的数据交互方式。此外,该方法确保返回的 Index 保持原始数据的完整性,即使在存在缺失值的情况下,也能适当地将结果转换为合适的数据类型。

参数:
级别int 或 str

level 要么是 MultiIndex 中级别的整数位置,要么是级别的名称。

返回:
索引

Values 是将这个 MultiIndex 转换为一个单一的 Index (或其子类)的级别。

参见

MultiIndex

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

索引

用于索引和对齐的不可变序列。

MultiIndex.remove_unused_levels

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

备注

如果级别包含缺失值,结果可能会被转换为包含缺失值为 NaNfloat。这是因为该级别被转换为一个常规的 Index

例子

创建一个 MultiIndex:

>>> mi = pd.MultiIndex.from_arrays((list("abc"), list("def")))
>>> mi.names = ["level_1", "level_2"]

通过提供级别作为整数或名称来获取级别值:

>>> mi.get_level_values(0)
Index(['a', 'b', 'c'], dtype='object', name='level_1')
>>> mi.get_level_values("level_2")
Index(['d', 'e', 'f'], dtype='object', name='level_2')

如果一个级别包含缺失值,该级别的返回类型可能会被转换为 float

>>> pd.MultiIndex.from_arrays([[1, None, 2], [3, 4, 5]]).dtypes
level_0    int64
level_1    int64
dtype: object
>>> pd.MultiIndex.from_arrays([[1, None, 2], [3, 4, 5]]).get_level_values(0)
Index([1.0, nan, 2.0], dtype='float64')