#python #pandas #function
#python #pandas #функция
Вопрос:
в фрейме данных pandas у меня есть столбец, содержащий условие, подобное следующим примерам:
- «(XCondition)»
- «(XCondition И YCondition)»
- «(XCondition) И (YCondition)»
- «((XCondition) И (YCondition)) ИЛИ (ZCondition)»
Теперь представьте, что я хочу удалить XCondition. Как вы можете видеть, для XCondition возможно несколько контекстов:
- со скобками или без них
- со следующим ключевым словом или нет
- внутри подлога или нет
Простое удаление строки «XCondition» не даст мне рабочий файл.
Мой текущий подход заключается в создании довольно сложной функции, а затем использовании метода df.apply() для ее обработки.
Я знаю, что это довольно сложная проблема, которая требует довольно сложной функции, но мне интересно, существует ли что-нибудь действительно для ее решения.
Если у кого-то есть опыт решения подобных проблем и есть несколько советов по этому поводу. Я буду рад это услышать.
Комментарии:
1. Можете ли вы добавить некоторый образец данных? Что находится
XCondition, YCondition, ZCondition
в образце данных?2. Хороший момент. Это просто строка. Обычно это одно слово — без пробела. Он представляет собой мета-атрибуты. Вы можете заменить на город, если предпочитаете (город без пробела): — «(Париж)» — «(Париж И Чикаго)» — «(Париж) И (Чикаго)» — «((Париж) И (Чикаго)) ИЛИ (Лондон)»
3. С помощью логики, если вы хотите заменить условие, просто установите для него значение True все время.