Как выбрать все строки, которые содержат значения * в выбранных столбцах * больше порогового значения? - PullRequest
0 голосов
/ 27 мая 2020

Я пытаюсь сделать то же самое, что и в этом вопросе , но у меня есть столбец строкового типа, который мне нужно сохранить в фрейме данных, чтобы я мог определить, какие строки какие. (Думаю, я мог бы сделать это по индексу, но я бы хотел сохранить шаг.) Есть ли способ не подсчитывать столбец при использовании .any (), но сохранить его в итоговом фрейме данных? Спасибо!

Вот код, который написан во всех столбцах:

df[(df > threshold).any(axis=1)]

Вот жестко закодированная версия, с которой я сейчас работаю:

df[(df[list_of__selected_columns] > 3).any(axis=1)]

Кажется немного неуклюже для меня, поэтому мне интересно, есть ли способ лучше.

1 Ответ

1 голос
/ 27 мая 2020

Вы можете использовать .select_dtype, чтобы выбрать все, скажем числовые столбцы:

df[df.select_dtype(include='number').gt(threshold).any(axis=1)]

Или кусок непрерывных столбцов с iloc:

df[df.iloc[:,3:6].gt(threshold).any(axis=1)]

Если вы хотите выберите случайный список столбцов, который лучше всего разрешить жестко закодированным списком.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...