2014-02-19 45 views
5

我需要知道數據幀中有多少級別,而不知道該數據幀是否具有多索引或「正常」索引。Python/Pandas:數據框索引中有多少個級別?

假設一個數據幀df和可變nb_levels保存結果,我可以執行以下操作,如果數據幀具有多指數:

>>> nb_levels = len(df.index[0])  
nb_levels = 2 

假定一個2電平的多指數

,所以我可以得到我想要的結果是這樣的:

try: 
    df.index.get_level_values(1) 
    nb_levels = 1 
except: 
    nb_levels = len(df.index[0]) 

但感覺就像一個可怕的黑客,當然必須有簡單的方法來獲得這個結果。問題是我似乎無法找到它。幫幫我 ?

+0

如果'df.index.get_level_values(1)'犯規失敗它只意味着水平存在的,它不說一下水平的任何量出現在'df'中。 –

回答

19

每個數據幀都有控股水平的量的屬性:

nblevels = df.index.nlevels 
+0

非常感謝Rutger,由於某種原因,我無法在API ref中找到它! – knightofni

相關問題