#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]