Получить значения двух разных столбцов на основе условия в третьем столбце - PullRequest
0 голосов
/ 24 марта 2020

У меня есть определенное условие (Incident = yes), и я хочу знать значения в двух столбцах, удовлетворяющих этому условию. У меня очень большой фрейм данных (много строк и много столбцов), и я ищу функцию «экранирования».

Чтобы проиллюстрировать следующий пример с помощью df (в котором гораздо больше столбцов, чем показано) :

Repetition  Step    Incident   Test1   Test2
1            1         no         10     20
1            1         no         9      11
1            2         yes        9      19
1            2         yes        11     20
1            2         yes        12     22
1            3         yes        9      18
1            3         yes        8      18

В качестве ответа я хотел бы получить:

Repetition   Step
1              2
1              3

Если бы я только хотел знать Шаг, я бы использовал следующую команду:

df[df.Incident == 'yes'].Step.unique()

Существует ли подобная команда для получения значений двух столбцов для определенного условия c?

Спасибо за помощь! : -)

1 Ответ

1 голос
/ 24 марта 2020

Вы можете использовать опцию query для условия, выбрать интересующие столбцы и, наконец, удалить повторяющиеся значения

 df.query('Incident=="yes"').filter(['Repetition','Step']).drop_duplicates()

ИЛИ

, которые вы можете использовать Pandas ' lo c, задайте строки как условие, задайте часть столбцов с интересующими вас столбцами, затем удалите дубликаты.

df.loc[df.Incident=="yes",['Repetition','Step']].drop_duplicates()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...