Привет, у меня есть датафрейм, который выглядит следующим образом
Date Col1 Col2 Col3 col4
0 1-4-2020 a ed kv sc sf ds n
1 1-4-2020 b hed sf ed df hed c
2 1-4-2020 c df xz sf sf ds n
3 2-4-2020 a ed df hed sf ds n
4 2-4-2020 b gv bb sc s ds c
5 2-4-2020 c ed sf sc hed ds n
Что я хочу сделать, это отфильтровать строки с несколькими условиями. Если:
- Строки буксировки имеют одинаковое значение в Col1. Например, a == a
- И они имеют одинаковые значения в Col4. n == n
- Если оба условия истинны, ищите строки Col2 и Col3 для ключевых строк "hed" и "sf". они могут быть в Col2 или Col3 (или в обоих)
Поэтому результат будет выглядеть следующим образом:
Date Col1 Col2 Col3 col4
1 1-4-2020 b hed sf ed df hed c
3 2-4-2020 a ed df hed sf djs n
5 2-4-2020 c ed sf ssc hed djs n
Надеюсь, это понятно Обновление
В case Col4
Date Col1 Col2 Col3 col4
0 1-4-2020 a ed kv sc sf ds n
1 1-4-2020 b hed sf ed df hed c
2 1-4-2020 c df xz sf sf ds n
3 1-4-2020 d df xdg sf sf hed y
4 2-4-2020 a ed df hed sf ds n
5 2-4-2020 b gv bb sc s ds c
6 2-4-2020 c ed sf sc hed ds n
7 2-4-2020 d df xgfgf gf gfd null
В случае, если значение в Col4 появляется только один раз в кадре данных, как в строке 3 (подсказка, что нет следующей строки для сравнения), функция должна вернуть строку.
Date Col1 Col2 Col3 col4
1 1-4-2020 b hed sf ed df hed c
3 1-4-2020 d df xdg sf sf hed y
4 2-4-2020 a ed df hed sf ds n
6 2-4-2020 c ed sf sc hed ds n