Pandas значение столбца пройдено или не выполнено на основе другого столбца - PullRequest
0 голосов
/ 02 августа 2020

У меня есть фрейм данных:

df_house = 
    house_id    test    result
0   House1  door    Pass
1   House1  window  Pass
2   House1  roof    Pass
3   House2  door    Pass
4   House2  window  fail
5   House2  roof    pass

, и я хочу создать сводный df:

df_summary = 
    house_id    test_summary
0   House1  Pass
1   House2  Fail
  • Как я могу сделать это в Pandas?
  • Обратите внимание, что результатом является «Пройдено», если все тесты прошли «Пройдено», и регистр не учитывается, поэтому любое значение pass, Pass, PASS, и т. Д. c следует считать пройденным.

ОТВЕТ:

df_house['result'].str.lower().eq('pass').groupby(df_house['house_id']).all().map({True:'Pass',False:'Fail'}).reset_index()

1 Ответ

1 голос
/ 02 августа 2020

Мы можем сделать groupby с all

df = df['result'].eq('Pass').groupby(df['house_id']).all().map({True:'Pass',False : 'fail'}).reset_index()
Out[117]: 
  house_id result
0   House1   Pass
1   House2   fail
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...