熊猫单级多索引与普通索引

时间:2019-06-12 23:48:50

标签: python pandas

一个人可能会在熊猫中生成单级MultiIndex,如下所示:

index = pd.MultiIndex.from_arrays([[1,2,3]])
index
print ('Number of levels = %d' % index.nlevels)
MultiIndex(levels=[[1, 2, 3]],
           codes=[[0, 1, 2]])
Number of levels = 1

然后将其用作简单索引,例如,以便初始化DataFrame:

df = pd.DataFrame([0,0,15], index=index, columns=['d'])
df

但是,是否存在单级多索引而不是简单索引的“特殊”用例?我的意思是简单索引“不太舒适”甚至不起作用的情况。

2 个答案:

答案 0 :(得分:1)

我只能想到内存使用情况,如果只有一个级别,则应该使用普通索引。

df.index.memory_usage()
123
df.index=[1,2,3]
df.index.memory_usage()
24

答案 1 :(得分:0)

我认为行为应该是相同的,但似乎存在细微的差异。

例如,单级 MultiIndex 会导致索引问题。 看到这个问题:Pandas indexing error with (1) non-unique query, and (2) single-level MultiIndex