Pandas логическое индексирование с логическим массивом Column - PullRequest
0 голосов
/ 19 апреля 2020

Набор данных : имя фрейма данных, над которым я работаю, - 'f500'. Вот первые пять строк в кадре данных

Цель : выбор данных только с цифрой c значение

То, что я пробовал :

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

numeric_only_bool = (f500.dtypes != object)

логический массив

2) Однако, когда я попытался выполнить индексацию с этим логическим массивом, произошла ошибка.

numeric_only = f500[:, numeric_only_bool]

сообщение об ошибке

Я видел примеры булевого индексирования по индексам (по строкам), но не смог найти булево индексирование по столбцам. Кто-нибудь может помочь как исправить этот код?

Заранее спасибо.

1 Ответ

1 голос
/ 19 апреля 2020

Использование DataFrame.loc:

numeric_only = f500.loc[:, numeric_only_bool]

Другой раствор с DataFrame.select_dtypes:

#only numeric
numeric_only = f500.select_dtypes(np.number)
#exclude object columns
numeric_only = f500.select_dtypes(exclude=object)
...