Есть ли способ фильтрации столбцов в Python, используя несколько типов данных в условии? - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь отфильтровать столбцы на основе числовых и категориальных типов данных, а затем создать отдельный список для каждого из них для проблем регрессии.

Проблема в том, что я не могу сделатьэто с использованием .isin (['object', 'O'])

Список столбцов:

Производитель 157 ненулевого объекта

Объект ненулевой модели 157

Sales_in_thousands 157 ненулевой float64

four_year_resale_value 121 ненулевой float64

Тип транспортного средства 157 ненулевой объект

Price_in_thousands 155 ненулевой float64

Engine_size 156 ненулевой float64

лошадиная сила 156 ненулевой float64

колесная база 156 ненулевой float64

ширина 156ненулевой float64

Latest_Launch 157 ненулевой объект

Power_perf_factor 155 ненулевой float64

Я хочу сделать это, используя .isin ([]), так как несколько вариантов могутбудет передан в списке, но он не работает

Ниже код не работает, и я вотищем решения для этого кода

df.dtypes.loc[df.dtypes.isin(['object','O'])]

Ниже код работает, но мне не нравится этот способ написания кода, так как если есть слишком много опций, этот код может стать излишне длинным и грязным

df.dtypes.loc[(df.dtypes == ('object')) | (df.dtypes == ('O'))] 

Вывод:

Объект производителя

Объект модели

Объект типа транспортного средства

Последний объект запуска

1 Ответ

0 голосов
/ 30 января 2019

Есть удобная вспомогательная функция для именно того, что вы пытаетесь сделать, select_dtypes

df.select_dtypes(include=['O'])

df.select_dtypes(exclude=['O'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...