Size: a a a

Python для анализа данных

2019 August 29

AD

Alex Dyachenko in Python для анализа данных
Oleg Omelchenko
Если запросы не ложат базу — стараюсь предварительно все что можно делать в sql
Спасибо!
источник

АГ

Артем Гилетич... in Python для анализа данных
Alex Dyachenko
Добрый вечер, коллеги. Помогите с нубским вопросом: пытаюсь "играться" с анализом данных скорее в виде хобби, и столкнулся, что массивы, которые удается получить, весьма неудобны для анализа. Например, если в поле содержится id элемента из другой таблицы, или таблица представляет список событий, а анализировать нужно интервалы и т.п. делать это на питоне получается ужасно неудобно.
Подскажите, я что-то не так делаю или предварительная склейка и предобработка данных в том же sql - это нормально?

Поясню о чем речь: предположим, у меня есть таблица поступлений по клиент-банку, таблица контрагентов и таблица обращений в crm и я хочу анализировать интервал времени от первого контакта до поступления денег: лучше эти интервалы в sql посчитать и сразу с названиями контрагентов склеить или в python это тоже можно так же просто и удобно сделать?
Несмотря на простоту, в SQL довольно проблематично оптимизировать повторяющиеся куски кода. Невозможно логать потери при разных джоинах таблиц (особенно если в одном запросе их больше 5-10). Трудно заполнять недостающие индексы и прочее. Нужно хорошо поиграться и с sql, и с python/pandas, чтобы понимать, каким инструментом и на каких этапах получится решить задачу быстрее.
источник

АГ

Артем Гилетич... in Python для анализа данных
Oleg Omelchenko
Если запросы не ложат базу — стараюсь предварительно все что можно делать в sql
Вот постоянно удивляюсь.
Есть какие-то причины или привычка / личная производительность?
источник

AD

Alex Dyachenko in Python для анализа данных
Артем Гилетич
Несмотря на простоту, в SQL довольно проблематично оптимизировать повторяющиеся куски кода. Невозможно логать потери при разных джоинах таблиц (особенно если в одном запросе их больше 5-10). Трудно заполнять недостающие индексы и прочее. Нужно хорошо поиграться и с sql, и с python/pandas, чтобы понимать, каким инструментом и на каких этапах получится решить задачу быстрее.
Это то понятно, что некоторую обработку проще в коде сделать. Просто я думал, что каких-то фич пандаса не знаю, которые позволяют так же удобно, как в sql оперировать.
источник

АГ

Артем Гилетич... in Python для анализа данных
Alex Dyachenko
Это то понятно, что некоторую обработку проще в коде сделать. Просто я думал, что каких-то фич пандаса не знаю, которые позволяют так же удобно, как в sql оперировать.
Вышлите запрос. Уверен, коллеги найдут лаконичные способы сделать это в pandas.
источник

OO

Oleg Omelchenko in Python для анализа данных
Артем Гилетич
Вот постоянно удивляюсь.
Есть какие-то причины или привычка / личная производительность?
Агрегация, фильтры и джойны в большом количестве мне куда проще прописать при помощи sql.
К тому же, обработка происходит не на моей машине - в случае с большим количеством строк это иногда критично.

Но у меня специфика задач такая, что этот подход работает. Анализ данных он разный бывает, может для каких-то задач это и не самый лучший вариант
источник

AD

Alex Dyachenko in Python для анализа данных
Артем Гилетич
Вышлите запрос. Уверен, коллеги найдут лаконичные способы сделать это в pandas.
Благодарю за предложение, Олег!
источник

АМ

Алексей Макаров... in Python для анализа данных
Alex Dyachenko
Это то понятно, что некоторую обработку проще в коде сделать. Просто я думал, что каких-то фич пандаса не знаю, которые позволяют так же удобно, как в sql оперировать.
Скиньте пример какой-то функции в SQL, аналога которой не получилось найти в Pandas. Мне кажется, что дело просто в навыках, а не в том, что у Pandas не хватает функционала
источник

AD

Alex Dyachenko in Python для анализа данных
Алексей Макаров
Скиньте пример какой-то функции в SQL, аналога которой не получилось найти в Pandas. Мне кажется, что дело просто в навыках, а не в том, что у Pandas не хватает функционала
Спасибо за предложение, Алексей! В основном речь о джойнах, подстановке данных из другой таблицы по ключу, вычислении интервалов между событиями, записанными в виде таблицы логов.
источник

AD

Alex Dyachenko in Python для анализа данных
Это, конечно, решается многократными проходами циклов обработки по всему массиву, но как-то неаккуратно.
источник

АМ

Алексей Макаров... in Python для анализа данных
Alex Dyachenko
Спасибо за предложение, Алексей! В основном речь о джойнах, подстановке данных из другой таблицы по ключу, вычислении интервалов между событиями, записанными в виде таблицы логов.
join можно реализовать с помощью функции merge. Посмотрите документацию, там довольно много примеров. Вычисление интервалов между рядом стоящиими событиями можно сделать через функцию diff. Diff также можно делать по группам с помощью groupby, если например нужно вычислить интервал между событиями одного типа
источник

АМ

Алексей Макаров... in Python для анализа данных
Alex Dyachenko
Это, конечно, решается многократными проходами циклов обработки по всему массиву, но как-то неаккуратно.
Чаще всего циклы при использовании Pandas говорят о том, что что-то делается не по канонам)
источник

AD

Alex Dyachenko in Python для анализа данных
Алексей Макаров
Чаще всего циклы при использовании Pandas говорят о том, что что-то делается не по канонам)
Вот это и беспокоит. Интуитивно это понимаю :) спасибо за совет. Попробую :)
источник

OB

Oleg Basmanov in Python для анализа данных
есть нескколько скриптов, там идут коннекты к разным базам, яндекс маркету и прочее. Ну работает нормально впринципе, но иногда приходят отбивка об ошибках типа ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response',))
фиг его знает что именно там пошло не так. вручную скрипт запустишь тут же - все норм прошло. Вобщем как бы так отследить в каком именно месте падает?
источник

A

Andrey Denisov in Python для анализа данных
Oleg Basmanov
есть нескколько скриптов, там идут коннекты к разным базам, яндекс маркету и прочее. Ну работает нормально впринципе, но иногда приходят отбивка об ошибках типа ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response',))
фиг его знает что именно там пошло не так. вручную скрипт запустишь тут же - все норм прошло. Вобщем как бы так отследить в каком именно месте падает?
Условная Метрика подскажет что за ошибка

elif req.status_code == 201:
           print("Отчет успешно поставлен в очередь в режиме офлайн")
elif req.status_code == 502:
           print("Время формирования отчета превысило серверное ограничение.")
и проч.
источник

А

Алексей in Python для анализа данных
Oleg Basmanov
есть нескколько скриптов, там идут коннекты к разным базам, яндекс маркету и прочее. Ну работает нормально впринципе, но иногда приходят отбивка об ошибках типа ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response',))
фиг его знает что именно там пошло не так. вручную скрипт запустишь тут же - все норм прошло. Вобщем как бы так отследить в каком именно месте падает?
по логам? https://python-scripts.com/logging-python У меня мои скрипты написаны с логгером, в который передается место формирование ошибки (если оно в поле моих интересов) и саму ошибку
источник

V

Vlad in Python для анализа данных
Ребятки, добрый день) В этом году пишу дипломную работу. Хочу взять тему "прогнозирование цен на нефть" используя новости как один из критерий прогноза. Сам я только начинаю изучать питон и машинное обучение. Может посоветуйте какие-нибудь книги, статьи с пошаговыми действиями? А то проблема в том, что я нашел пару статей и кодов к этой теме для прогнозирования, но это все расписано на пару страниц, а в работе требуется около 80 страниц. Заранее спасибо)
источник

VS

Vanya Slobodchikov in Python для анализа данных
кажется, что вопрос не в тот чят
источник

А

Алексей in Python для анализа данных
Vlad
Ребятки, добрый день) В этом году пишу дипломную работу. Хочу взять тему "прогнозирование цен на нефть" используя новости как один из критерий прогноза. Сам я только начинаю изучать питон и машинное обучение. Может посоветуйте какие-нибудь книги, статьи с пошаговыми действиями? А то проблема в том, что я нашел пару статей и кодов к этой теме для прогнозирования, но это все расписано на пару страниц, а в работе требуется около 80 страниц. Заранее спасибо)
погружайтесь далее и описывайте алгоритмы прогнозирования. Распишите что происход в коде и почему именно так. Выйдет не 80 страниц, а 160)
источник

V

Vlad in Python для анализа данных
Вот только к сожалению это необычная статья в журнал) Тут нужно 3 главы: Теоретическая, теорио-практическая и сама практика. И если к последним 2 это подойдёт, то 1, самое тупое, и как раз для него мне не хватает материала
источник