Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Extract indexes of Columns where dtype is 'object' in Pandas

From all the columns in a Pandas Dataframe, how to extract indexes of all the columns of specific dtype?

like image 585
Rahul Dev Avatar asked Aug 31 '25 22:08

Rahul Dev


1 Answers

Use select_dtypes and if positions necessary get_indexer:

df = pd.DataFrame({'A':list('abcdef'),
                   'B':[4,5,4,5,5,4],
                   'C':[7,8,9,4,2,3],
                   'D':[1,3,5,7,1,0],
                   'E':[5,3,6,9,2,4],
                   'F':list('aaabbb')})

print (df)
   A  B  C  D  E  F
0  a  4  7  1  5  a
1  b  5  8  3  3  a
2  c  4  9  5  6  a
3  d  5  4  7  9  b
4  e  5  2  1  2  b
5  f  4  3  0  4  b

a = df.select_dtypes('object').columns
print (a)
Index(['A', 'F'], dtype='object')

idx = df.columns.get_indexer(df.select_dtypes('object').columns)
print (idx)
[0 5]
like image 65
jezrael Avatar answered Sep 04 '25 11:09

jezrael