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

yftpprvb  于 2022-10-23  发布在  其他
关注(0)|答案(2)|浏览(129)

我想得到Pandas Dataframe 列的数字索引。
只需一列,它就非常简单:

  1. nonzero(df.columns.values == 'conditionA')

但有多个元素?我有一些有用的东西,但很冗长,很激动:

  1. df = pd.DataFrame(columns=['conditionF', 'conditionB', 'conditionA', 'conditionD', 'conditionC'])
  2. cols_to_find = ['conditionA', 'conditionB', 'conditionC']
  3. [i for i in range(len(df.columns.values)) if df.columns.tolist()[i] in cols_to_find ]

更好的主意?

ct2axkht

ct2axkht1#

这是有效的,而且还保留了顺序

  1. [df.columns.get_loc(col) for col in cols_to_find]
  2. [2, 1, 4]

列出理解是你的朋友。

yws3nbqq

yws3nbqq2#

  1. df=pd.DataFrame(columns=['conditionF', 'conditionB', 'conditionA', 'conditionD', 'conditionC'])
  2. def search():
  3. search=['conditionA', 'conditionB', 'conditionC']
  4. c=len(search)
  5. for i in df.columns.values:
  6. print(i)
  7. if i in search:
  8. c-=1
  9. return c==0
  10. search()

相关问题