

前面介绍了Python 多层索引1之from_frame,这里我们再来介绍:pandas.MultiIndex.from_arrays函数,就是将数组变为多层索引。
from_arrays函数有三个参数:
pandas.MultiIndex.from_from_arrays (arrays, sortorder=None, names=None)
1.arrays:数组
2.sortorder:排序顺序,可选参数。
3.名称:设置多层索引名称,可选。
示例如下所示,其中index_t为示例dataframe

通过values方法将index_t转换为数组:

df为我们需要设置多层索引的dataframe

让我们看下采用index_t2数组作为多层索引时的层级有哪些:

从上面的截图里面可以看出,采用from_arrays时,与from_frame有很大的不同。
采用from_arrays时,MultiIndex的层级是根据数组行的维度确定的,上面的例子中index_t2有3行, MultiIndex的层级就是3层。
在这种情况下,因为MultiIndex的长度与df长度不同,将其赋值给df就会出错。如下所示
ValueError: Length mismatch


将index_2转置一下,结果如下所示:

此时就可以赋给df的索引了。如下所示

通过以上的介绍,你学会pandas.MultiIndex.from_arrays函数的用法了吗?


文章转载自EE漫谈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




