У меня есть фрейм данных:
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()