簡體   English   中英

Pandas 單級多索引與普通索引

[英]Pandas single level multiindex vs plain index

可以在 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

但是有沒有單級多索引而不是簡單索引的“特殊”用例? 我的意思是簡單索引“不太舒服”甚至不起作用的情況。

我只能想到內存使用情況,如果您只有一個級別,則應該使用普通索引。

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

我認為行為應該是相同的,但似乎存在細微的差異。

例如,單級 MultiIndex 會導致索引問題。 看到這個問題: Pandas indexing error with (1) non-unique query, and (2) single-level MultiIndex

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM