python - 获取 pandas.MultiIndex 中某个级别的位置

标签 python pandas multi-index

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

所以,给定

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

我想找出 ind1ind2 的位置,而不必这样做

ind1_loc = [name for name in index.names if name == 'ind1'][0]

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

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

最佳答案

我相信如果需要级别名称或 .index 索引名称位置方法,您需要索引:

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

print (index.names[1])
ind2

print (index.names.index('ind2'))
1

关于python - 获取 pandas.MultiIndex 中某个级别的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63244718/

相关文章:

python - 如何按字母数字顺序设置列表?

python - Django上传视频并自动生成缩略图

python - 分配结果变量的函数向我显示此错误

python - 如何为我的数据创建三个新列?

python - 将多索引数据帧与列标题连接起来

python - 具有 MultiIindex 和 .combine_first 的 Pandas DataFrame 无法按预期工作

python - Google CoLab - 如何运行位于我的 CoLab 环境的 'Files' 选项卡(即/content/)中的 jupyter notebook 文件

python - 减少python中数据框的维度

python - 如何使用 Scikit Learn dictvectorizer 从 Python 中的密集数据帧中获取编码数据帧?

python - 如何从多索引数据框中返回多个级别/组的值?