熊猫:从给定名称列表中获取列索引

时间:2019-07-09 08:45:40

标签: python pandas

假设您有一个pandas数据框输入和一个列名列表。为这些名称所代表的列获取索引列表(列号)的好方法是什么?

我认为这可能与以下内容类似:

def get_col_indices(df, names):
    return [df.columns.index(name) for name in names]

2 个答案:

答案 0 :(得分:2)

使用Index.get_indexer

def get_col_indices(df, names):
    return df.columns.get_indexer(names)

答案 1 :(得分:2)

如果不需要它们的顺序相同,可以将pd.Index.isinnp.flatnonzero一起使用

import numpy as np
np.flatnonzero(df.columns.isin(names))