Есть ли лучший способ отфильтровать строки в серии Pandas?
Вот что я придумал:
df = pd.DataFrame({'a': [1,2,3,4,'cat','hat','mat'], 'b': [1,2,3,4,5,6,7] })
Оригинал:
a b
0 1 1
1 2 2
2 3 3
3 4 4
4 cat 5
5 hat 6
6 mat 7
df = df[df['a'].apply(lambda x: isinstance(x, str))]
Результат:
a b
4 cat 5
5 hat 6
6 mat 7
Однако этот синтаксис кажется многословным. Есть ли что-то в форме? :
df[df['a'].is_type(str)]
РЕДАКТИРОВАТЬ: Я заинтересован в проверке типа, а не содержимого. Так, например, я хотел бы включить '12345'
и исключить 12345
.