У меня есть скрипт, который загружает данные из MySQL. После этого создается Pandas DataFrame. К нему я применяю несколько apply
методов.
Когда я запускаю скрипт без swifter
, это вывод:
Duration Job0_sql: 0.011724
Duration Job0_df: 146.875376
<class 'pandas.core.frame.DataFrame'>
Int64Index: 3316 entries, 0 to 3315
Data columns (total 57 columns):
id 3316 non-null int64
routerName 3316 non-null object
routerLabel 3306 non-null object
[...]
Это означает, что запрос SQL длился 0,011724 секунды. ,Весь процесс на DataFrame, 146,9 секунд. Наконец я печатаю df.info()
. Он также генерирует некоторые графики (.jpegs) из самих данных.
После использования df.swifter.apply(.)
вдоль кода, вывод показывает что-то другое и не перемещается дальше ...
Duration Job0_sql: 0.012964
Pandas Apply: 100%|██████████████████████████| 48516/48516 [00:57<00:00, 845.45it/s]
Pandas Apply: 100%|██████████████████████████| 3316/3316 [00:00<00:00, 4463.01it/s]
Я имею в виду, что после swifter
я не получаю ни времени Job0_df
, ни обработки графиков: сценарий просто останавливается там после баров прогеса.
Почему кодостанавливается там? Согласно документации , нам нужно только добавить ключевое слово swifter
к методу apply
.
Кто-нибудь испытывал что-то подобное?