/ / Python / Pandas: Ile poziomów w indeksie ramki danych? - python, pandy

Python / Pandy: Ile poziomów w indeksie danych? - python, pandy

Muszę wiedzieć, ile poziomów znajduje się w ramce danych, nie wiedząc, czy ta ramka danych ma indeks Multi-index lub „Normal”.

Zakładając ramkę danych dfi zmienna nb_levels aby utrzymać wynik, mogę wykonać następujące czynności, jeśli ramka danych ma wiele indeksów:

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

zakładając 2-poziomowy multi-index

Mogę uzyskać taki pożądany rezultat:

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

Ale wydaje mi się, że to straszny hack i na pewno musi być prosty sposób na uzyskanie tego wyniku. Problem polega na tym, że nie mogę go znaleźć. Pomoc?

Odpowiedzi:

21 dla odpowiedzi № 1

Każda ramka danych ma atrybut o liczbie poziomów:

nblevels = df.index.nlevels