我需要知道数据帧中有多少级别,而不知道该数据帧是否具有多索引或“正常”索引。
假设数据帧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 :(得分:25)
每个Dataframe都有一个包含级别数量的属性:
nblevels = df.index.nlevels