Обычно я делаю общую фильтрацию по строкам следующим образом:
criterion = lambda row: row['countries'] not in countries
not_in = df[df.apply(criterion, axis=1)]
Я настоятельно рекомендую совет относительно блог Krzysztof и отметил бы, что в Вашем случае Вы, кажется, пытаетесь иметь дело с тем, что он называет Ошибками Использования.
В этом случае то, что требуется, не является новым типом для указания на это, а лучшее сообщение об ошибке о том, что вызвало его. Как таковой помощник функционируют к также:
- то, что требуется.
Подход 1 является более четким, но может привести к немного большему количеству подробного использования, 2 противоположное, обменивая более краткий синтаксис на меньшую ясность.
Примечание, что функции должны быть чрезвычайно безопасными (они никогда не должны вызывать несвязанное исключение сами) и не вызывают условие данных, которые являются дополнительными в определенном разумном использовании.
При помощи любого из этих подходов Вы помогаете интернационализировать сообщение об ошибке позже при необходимости.
отслеживание стека А как минимум дает Вам функцию и возможно номер строки, таким образом необходимо сфокусироваться на предоставлении информации, которая не легка работать из этого.
См. , Как Разработать Иерархии Исключения на блоге Krzysztof Cwalina, соавтора "Руководства по проектированию Платформы".
Никогда не доверяйте пользователю, чтобы 'сделать правильную вещь' и включать информацию для отладки. Если Вы хотите информацию, необходимо собрать его сами и сохранить ее где-нибудь где его доступное.
Также, как указано, если трудно (er) сделать что-то, пользователи постараются не делать, это, поэтому снова, не зависит от их доброжелательности и их знания того, что они должны отправить.
Эти взгляды подразумевают метод, которым Вы собираете информацию и регистрируете ее, который подразумевает использование var_dump () где-нибудь.
кроме того, как сказано Mark Harrison, кнопка, которая помогает отправить сообщение об ошибке куда-нибудь, является фантастической для Вас и для пользователей. Это помогает им сообщить об ошибке. Вы (как получатель) получаете много дубликатов, но копируете информацию, не лучше, чем никакая информация.
Однако много детали, которую Вы добавляете, быть уверенными и или