获取 pandas.MultiIndex 中关卡的位置

Kon*_*tin 5 python multi-index pandas

给定一个pandas.MultiIndex,我想知道给定级别名称的级别号。

所以,给定

index = pd.MultiIndex(
        names=['ind1', 'ind2'],
        levels=[['a'], ['b']],
        codes=[[], []]
    )
Run Code Online (Sandbox Code Playgroud)

我想找出ind1和的位置ind2,而不必这样做

ind1_loc = [name for name in index.names if name == 'ind1'][0]
Run Code Online (Sandbox Code Playgroud)

我觉得这绝对应该是可能的,但我在文档中找不到它。

我之所以要这样做,是因为既不返回级别名称,也不返回级别iterrows()名称itertuples(),因此您必须通过级别编号访问返回的索引。

jez*_*ael 3

我相信如果需要按索引名称.index确定位置的级别名称或方法,则需要索引:

index = pd.MultiIndex(
        names=['ind1', 'ind2'],
        levels=[['a'], ['b']],
        codes=[[], []]
    )

print (index.names[1])
ind2

print (index.names.index('ind2'))
1
Run Code Online (Sandbox Code Playgroud)