Если ваши реальные данные выглядят так, то есть не содержат строк типа 12.3
, вы можете попробовать преобразовать их в to_numeric
и заполнить non-na с помощью 'Bus'
df[df.apply(pd.to_numeric,
args={'errors':'ignore'})
.notnull()] = 'Bus'
Тестовые данные:
df = pd.DataFrame({'a':[12, 'None', None],
'b':[23, 'MRT', None]})
дает:
a b
0 Bus Bus
1 None MRT
2 None None