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 创建一个新的,删除未使用的级别。
备注
如果级别包含缺失值,结果可能会被转换为包含缺失值为
NaN
的float
。这是因为该级别被转换为一个常规的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')