3. MultiIndex
MultiIndex
代表的是多级索引对象。它继承自Index
,其中的多级label
采用元组对象来表示。在MultiIndex
内部,并不直接保存元组对象,而是使用多个Index
对象保存索引中每级的label
。class pandas.MultiIndex(levels=None, labels=None, sortorder=None, names=None,
copy=False, verify_integrity=True, _set_identity=True, name=None, **kwargs)
参数:
levels
:一个数组的列表,给出了每一级的level
。labels
:一个数组的列表,给出了每一级level
的下标。第i
级label
是这样产生的:- 首先获取
labels[i]
,它是一个下标序列,代表第 级。 - 假设第
k
位置为整数 3,在第 级第 位的label
就是levels[i][3]
。
- 首先获取
sortorder
:一个整数,给出了已经排序好了的level
级别。names
:一个字符串序列,给出了每个Index
的name
。其中每个级别对应一个Index
copy
:一个布尔值。如果为True
,则拷贝基础数据verify_integrity
:一个布尔值。如果为True
,则检测各级别的label/level
都是连续的且有效的name
:指定了本MultiIndex
的名字
你也可以通过下面的类方法来创建
MultiIndex
:MultiIndex.from_arrays(arrays[, sortorder, ...])
:将二维序列转换为MultiIndex
。其中arrays
为array-like
的序列,每个array-like
按顺序的给出了一列label
(一个级别)MultiIndex.from_tuples(tuples[, sortorder, ...])
:将元组序列转换为MultiIndex
。其中tuples
为tuple-like
的序列,每个array-like
按顺序的给出了一行label
对(不同级别的一对)MultiIndex.from_product(iterables[, ...])
:根据多个可迭代对象生成一个MultiIndex
,其中使用笛卡尔积的算法。其中iterables
为可迭代对象的序列
你也可以通过传递一个元组列表给
Index()
,并且将tupleize_cols
设置为True
来创建MultiIndex