首页 > 解决方案 > Python:在满足条件的情况下返回列索引

问题描述

鉴于它们满足特定条件,我想获取列索引。

例如,我想获取所有包含 0 的列的索引。在这种情况下,它将是 [0,1] -->(A 列和 B 列)。

df = {'A': [0,1,2,3,4,5], 
      'B': [3,4,0,5,6,5], 
      'C': [1,2,3,4,5,6],
      'D': [7,8,9,8,7,6]} 

df = pd.DataFrame(df)

谢谢!

标签: pythonarrayspandaslistnumpy

解决方案


使用np.where

index_array = np.where(df.eq(0).any())[0] # prints array([0, 1])
index_array = np.where(~df.eq(0).any())[0]  # prints array([2, 3])

如果您需要列名:

col_list = df.columns[df.eq(0).any()] # prints Index(['A', 'B'], dtype='object')

推荐阅读