在 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功能使用rename, reindex, set_index 详解