Пусть E
будет критерием приемлемости, а S
будет истинным, если тариф начинается с "***"
.Вы хотите исключить строки, которые E unless S
, что совпадает с E & ~S
.И наоборот, вы хотите сохранить строки, у которых нет этого свойства: ~(E & ~S)
, что совпадает с ~E | S
:
df = df[~df['eligibility'].str.contains(eligibility_criteria, na=False) |
df['tariff'].str.startswith("***")]