【发布时间】:2014-05-21 00:08:34
【问题描述】:
我想获取一组 pandas 数据框列的数字索引。
一栏很简单:
nonzero(df.columns.values == 'conditionA')
但是有多个元素? 我有一些有用的东西,但是很冗长,很冗长:
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 ]
更好的想法?
【问题讨论】:
-
试试
np.nonzero(df.columns.isin(to_find)) -
这就是答案!它就在那里......我正在寻找一个 isin() 函数,但没有找到方法!发送!
-
@behzad.nouri 请将其作为答案发布,以便 Gioelelm 能够接受它并向其他人表明问题已明确解决
-
@behzad.nouri:很好,但它不会保留列名列表中的顺序,而是按升序重新排列它们。
-
我发布了一个保留顺序的解决方案。
标签: python numpy pandas dataframe