Как фильтровать строки через dtypes?

#pandas

#pandas

Вопрос:

У меня есть столбец, в котором всего 500 позиций. Из них 34 являются объектными, а остальные — целыми. Как мне отфильтровать этот столбец, чтобы получить только объект?

Ответ №1:

Вы можете использовать isinstance :

 df = pd.DataFrame({'col':[1,2,'a','b',3]})

df.loc[[not isinstance(x,int) for x in df['col']],
       'col']
  

Вывод:

 2    a
3    b
Name: col, dtype: object
  

Комментарии:

1. Я могу получить столбцы на основе этого, но как мне дополнительно фильтровать столбец на основе dtypes каждого элемента в столбце?

2. @Tanmayagrawal Я неправильно истолковал ваш вопрос. Смотрите обновленный ответ.

Ответ №2:

Другое решение:

 cond = df['col'].apply(type) != int
df.loc[cond]