Попробуйте использовать Numpy с np.isreal и выберите только цифры ..
import pandas as pd
import numpy as np
df = pd.DataFrame({'SELECTIO':['N NO',37002,37003,'Krishan',37004,'singh',37005], 'some_col':[4,6,14,26,38,47,60]})
df
SELECTIO some_col
0 N NO 4
1 37002 6
2 37003 14
3 Krishan 26
4 37004 38
5 singh 47
6 37005 60
>>> df[df[['SELECTIO']].applymap(np.isreal).all(1)]
SELECTIO some_col
1 37002 6
2 37003 14
4 37004 38
6 37005 60
результат:
Специфично для столбца SELECTIO
..
df[df[['SELECTIO']].applymap(np.isreal).all(1)]
SELECTIO some_col
1 37002 6
2 37003 14
4 37004 38
6 37005 60
ИЛИ просто другой подход к импорту numbers
+ lambda
:
import numbers
df[df[['SELECTIO']].applymap(lambda x: isinstance(x, numbers.Number)).all(1)]
SELECTIO some_col
1 37002 6
2 37003 14
4 37004 38
6 37005 60
Примечание: существует проблема при извлечении столбца, который вы используете ['Selection No.']
но на самом деле у вас есть пробел в названии, это будет похоже на ['Selection No. ']
, поэтому вы получаете KeyError
при его выполнении, попробуйте и посмотрите!