Pandas多重索引使用详解

多重索引被定义为非常重要的索引, 因为它处理数据分析和处理, 尤其是处理高维数据时。它还可以在Series和DataFrame等较低维度的数据结构中存储和处理任意数量的维度的数据。
它是标准索引对象的层次结构类似物, 用于将轴标签存储在pandas对象中。也可以将其定义为元组数组, 其中每个元组都是唯一的。可以从数组列表, 元组数组和可迭代的交叉集创建。
例:

arrays = [['it', 'it', 'of', 'of', 'for', 'for', 'then', 'then'], ['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two']]tuples = list(zip(*arrays))tuples

输出
[('it', 'one'), ('it', 'two'), ('of', 'one'), ('of', 'two'), ('for', 'one'), ('for', 'two'), ('then', 'one'), ('then', 'two')]

范例2:
arrays = [['it', 'it', 'of', 'of', 'for', 'for', 'then', 'then'], ['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two']]tuples = list(zip(*arrays))index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second'])

输出
MultiIndex([('bar', 'one'), [('it', 'one'), ('it', 'two'), ('of', 'one'), ('of', 'two'), ('for', 'one'), ('for', 'two'), ('then', 'one'), ('then', 'two')] names=['first', 'second'])

【Pandas多重索引使用详解】范例3:
import pandas as pdimport numpy as nppd.MultiIndex(levels=[[np.nan, None, pd.NaT, 128, 2]], codes=[[0, -1, 1, 2, 3, 4]])

输出
MultiIndex(levels=[[nan, None, NaT, 128, 2]], codes=[[0, -1, 1, 2, 3, 4]])

    推荐阅读