pandas.MultiIndex.get_level_values#
- MultiIndex.get_level_values(level)[source]#
返回请求 level 的标签值向量。
返回向量的长度等于索引的长度。 get_level_values 方法是从 MultiIndex 中提取特定级别值的关键实用工具。此函数在处理多级数据时特别有用,它允许您隔离和操作单个级别,而无需处理整个 MultiIndex 结构的复杂性。它无缝处理基于整数和字符串的级别访问,为与数据交互提供了灵活性。此外,此方法通过将结果适当地转换为合适的数据类型,确保返回的 Index 即使在存在缺失值的情况下也能保持原始数据的完整性。
- 参数:
- levelint or str
level是 MultiIndex 中级别的整数位置,或者是级别的名称。
- 返回:
- 索引
Values 是此 MultiIndex 的一个级别,已转换为单个
Index(或其子类)。
另请参阅
MultiIndexpandas 对象的多元索引或分层索引。
索引用于索引和对齐的不可变序列。
MultiIndex.remove_unused_levels从当前 MultiIndex 创建新的 MultiIndex,以删除未使用的级别。
注意
如果级别包含缺失值,结果可能会转换为
float,并将缺失值指定为NaN。这是因为该级别被转换为常规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='str', name='level_1') >>> mi.get_level_values("level_2") Index(['d', 'e', 'f'], dtype='str', 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')