在 pandas 中,set_index 不创建分层索引

Posted

技术标签:

【中文标题】在 pandas 中,set_index 不创建分层索引【英文标题】:In pandas, set_index is not creating a hierarchical index 【发布时间】:2018-04-25 11:24:58 【问题描述】:

我有一个数据框,我试图按两列(State 和 RegionName)对它进行分层索引。但是,每当我尝试设置索引时,由于没有更好的词,我得到并行索引而不是分层。我为不同的数据集尝试了相同的代码,但我没有遇到这个问题。

df = pd.read_csv('City_Zhvi_AllHomes.csv') 
df.set_index(["State","RegionName"], inplace = True) 

结果如下所示:

我环顾了 ***,但无法找到答案,甚至找不到类似的问题。任何和所有的帮助将不胜感激。谢谢!

【问题讨论】:

它是一个多索引。它只是看起来不像。所以试试df.sort_index(),看看它的输出是什么样的——你会明白的。 啊!太感谢了!我觉得很傻,但至少我学到了一些东西。谢谢!! 【参考方案1】:

只需对数据帧执行sort_index() 操作即可。

df.set_index(["State","RegionName"], inplace = True).sort_index()

【讨论】:

以上是关于在 pandas 中,set_index 不创建分层索引的主要内容,如果未能解决你的问题,请参考以下文章

pandas 中 df.reindex() 和 df.set_index() 方法的区别

等效于 pandas.DataFrame.set_index / drop_duplicates 与 dropDuplicates 的 Spark DataFrame

pandas 之 set_index

pandas功能使用rename, reindex, set_index 详解

Pandas中set_index和reset_index的用法及区别

pandas重设index set_index和resert_index