df = pd.DataFrame.from_dict({'a':'C C A'.split(),
'b':'C C A'.split(),
'c':'C A A'.split(),
'd':'C A A'.split()})
df.apply(lambda x: len(set(x)) == 1, axis=1)
0 True
1 False
2 True
dtype: bool
Объяснение: set (x) имеет только 1 элемент, если все элементы строки одинаковы. Опция оси = 1 применяет любую заданную функцию к строкам.
Используйте Celery
для запуска периодических задач. Вы можете сослаться на сельдерея Джанго , например, здесь
Если вы развернули это в системе Unix, вы можете использовать команды, запускаемые через crontab:
Сначала создайте свои собственные команды, которые можно вызывать из командной строки, как описано здесь: https: / /docs.djangoproject.com/en/2.1/howto/custom-management-commands/. Это код Django, и у вас есть доступ ко всем вашим моделям и т. Д.
Затем настройте crontab для запуска этих команд каждые 3 часа (или в любое другое время). (Документы для Ubuntu: https://help.ubuntu.com/community/CronHowto - crontab должен быть доступен независимо от дистрибутива.)