我需要知道数据帧中有多少级别,而不知道该数据帧是否具有多索引或"正常"索引.
假设有一个数据帧df和一个nb_levels保存结果的变量,如果数据帧有多索引,我可以执行以下操作:
>>> nb_levels = len(df.index[0])
nb_levels = 2
Run Code Online (Sandbox Code Playgroud)
假设一个2级多指数
所以我可以得到我想要的结果:
try:
df.index.get_level_values(1)
nb_levels = 1
except:
nb_levels = len(df.index[0])
Run Code Online (Sandbox Code Playgroud)
但这感觉就像一个可怕的黑客,当然必须有简单的方法来获得这个结果.问题是我似乎无法找到它.救命 ?
Rut*_*ies 32
每个Dataframe都有一个包含级别数量的属性:
nblevels = df.index.nlevels
Run Code Online (Sandbox Code Playgroud)