按名称获取多个 Pandas 列的索引

Gio*_*elm 6 python numpy dataframe pandas

我想获取一组熊猫数据框列的数字索引。

一列非常简单:

nonzero(df.columns.values == 'conditionA')
Run Code Online (Sandbox Code Playgroud)

但是有多个元素?我有一些有用的东西,但很冗长,很亲切:

df = pd.DataFrame(columns=['conditionF', 'conditionB', 'conditionA', 'conditionD', 'conditionC'])

cols_to_find = ['conditionA', 'conditionB', 'conditionC']
[i for i in range(len(df.columns.values)) if df.columns.tolist()[i] in cols_to_find ]
Run Code Online (Sandbox Code Playgroud)

更好的想法?

smc*_*mci 5

这有效,并且还保留了顺序

[df.columns.get_loc(col) for col in cols_to_find]
[2, 1, 4]
Run Code Online (Sandbox Code Playgroud)

列表推导式是你的朋友。