7分钟
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],它是一个下标序列,代表第 i 级。 - 假设第
k位置为整数 3,在第 i 级第 k 位的label就是levels[i][3]。
- 首先获取
sortorder:一个整数,给出了已经排序好了的level级别。names:一个字符串序列,给出了每个Index的name。其中每个级别对应一个Indexcopy:一个布尔值。如果为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
学员评价