Мне интересно, как с помощью регулярных выражений удалить любые нечисловые символы, выбирая только непустые и пробелы (одно значение может содержать один или несколько пробелов) для ряда более эффективным способом,
df['numeric_no'] = df['id'].apply(lambda x: re.sub("[^0-9]", "", x))
df = df[(df['numeric_no'] != '') & (df['numeric_no'] != ' ')]
некоторые образцы данных для df
numeric_no
B-27000
44-11-E
LAND-11-4
17772A
88LL9A
321LP-3
UNIT 9 CAM -00-12
WWcard_055_34QE
EE119.45
aaa
b b
результат будет выглядеть как
numeric_no
27000
4411
114
17772
889
3213
90012
05534
119.45