SQL запросы в Pandas | Анатолий Карпов | karpov.courses

Поділитися
Вставка
  • Опубліковано 17 лют 2022
  • Симулятор аналитика: bit.ly/3YNmKEZ
    Представьте, что вы решаете тестовое задание на позицию аналитика данных.
    В одном из заданий вам дают описание таблицы, в которой хранятся логи покупок в интернет-магазине. От вас требуется написать несколько SQL запросов для решения различных задач. Как нам убедиться, что наши запросы работают корректно, если самой базы данных у нас нет?
    Хорошая идея - сгенерировать набор данных и протестировать SQL запросы прямо в Jupyter Notebook. Давайте разберёмся, как можно сгенерировать продуктовый лог и как обращаться к Pandas Dataframe при помощи SQL!
    Ссылка на ноутбук: drive.google.com/drive/folder...
    Учитесь Data Science с нами: karpov.courses/

КОМЕНТАРІ • 33

  • @karpovcourses
    @karpovcourses  2 роки тому +43

    В видео использую метод append, для объединения данных, метод устарел, начиная с версии Pandas 1.4.0 нужно использовать concat().

    • @slasaru
      @slasaru 2 роки тому

      в анаконде pandas до сих пор 0.4 версии или какой там... так что это нормально )

  • @Leon4tube
    @Leon4tube 2 роки тому +6

    Анатолий, это прекрасно. Делайте ещё, пожалуйста. Спасибо.

  • @floock1
    @floock1 2 роки тому +7

    Спасибо, этот шорт-формат очень крутой! Да еще именно этот пример как раз в тему моей текущей рабочей задачи пришелся!

  • @KrissRho
    @KrissRho 2 роки тому +2

    Для начинающих очень полезно. Спасибо большое.

  • @user-uy4vh5fz4v
    @user-uy4vh5fz4v 2 роки тому +4

    Спасибо, как раз недавно нужно было сгенерить датасет, но делал это на коленках. Теперь вижу как оптимизировать свою работу. Полезно!

  • @matveypopkov3414
    @matveypopkov3414 2 роки тому +1

    Да, супер полезно, спасибо!

  • @oldzas
    @oldzas 2 роки тому

    Круто, понравилось, спасибо!

  • @elenabareysha9232
    @elenabareysha9232 Рік тому

    Высший пилотаж!

  • @sevlant
    @sevlant 2 роки тому

    Большое спасибо!

  • @luckytima2315
    @luckytima2315 2 роки тому +1

    Я ваш фанат, спасибо большое за видео))

  • @user-vz5ko5nz4d
    @user-vz5ko5nz4d Рік тому

    круто!

  • @clockfixer5049
    @clockfixer5049 2 роки тому

    Видео отличное. Единственное, не мог оторваться от опечатки в слове funnel, но это мелочь.

  • @MrLivfstdieyng
    @MrLivfstdieyng 2 роки тому +5

    А для чего в функции generate_funel_actions при создании датафрейма передаётся параметр index = [0]?

  • @user-_kirill
    @user-_kirill 2 роки тому +5

    Спасибо!
    Бывают ситуации когда в пандас сложно выбрать данные. Например когда задача решается оконным функциями sql.

    • @user-rc7iu8zr8o
      @user-rc7iu8zr8o 2 роки тому +2

      Есть метод transform в панде

  • @ost008
    @ost008 2 роки тому +5

    Меня смутило поле - дата совершения события. Я думал, что SQL-запрос будет мудренее. Действительно, Анатолий немного упростил ситуацию. И его SQL-запрос по-факту занижает конверсию в покупку. Человек может посмотреть ОДИН и ТОТ же товар трижды в течении дня и затем его купить. Наверное, в этом случае конверсия - 100% для данного товара. Но у Анатолия получится - 33%.

    • @user-ub8se9xo7s
      @user-ub8se9xo7s 2 роки тому +1

      Тоже обратил внимание. По хорошему для воронки нужно считать количество уникальных сочетаний пользователь-товар. С другой стороны, зависит от задач: например, большое количество "холостых" просмотров одним пользователем одного товара жто тоже инсайт - может интерфейс не очень и т.д. В общем, смотря что мы хотим

    • @karpovcourses
      @karpovcourses  2 роки тому +3

      Абсолютно согласен, в таком случае сначала нужно взять только уникальные пары. Но в видео действительно рассмотрел самый простой вариант.

    • @user-ub8se9xo7s
      @user-ub8se9xo7s 2 роки тому +3

      Анатолий, большое спасибо за замечательный контент! Мы не придираемся )) это скорее критический подход аналитика )) Всё, как вы нас учите!

    • @karpovcourses
      @karpovcourses  2 роки тому

      @@user-ub8se9xo7s Все правильно)

  • @MikhailVakhmenin
    @MikhailVakhmenin 2 роки тому

    🔥

  • @dimka11ggg
    @dimka11ggg 2 роки тому +2

    sqlite3 почему не использовать?

  • @russeif9697
    @russeif9697 2 роки тому

    Кайф

  • @user-nk7fx8dv3r
    @user-nk7fx8dv3r 2 роки тому

    Получается, через эту библиотеку и джойнить по неравенству можно?

  • @swatik777yandexru
    @swatik777yandexru Рік тому

    Меня как-то отбраковали на этапе решения тестового задания, только за то, что в итоговом запросе к датафрейму, когда нужно было показать результат, написал для моего удобства запрос SQL (pandasql).

  • @user-wz2xg5in7s
    @user-wz2xg5in7s Рік тому +1

    Если используете Jupyter, то всё ок. А если пишите в PyCharm, то получаете ошибку sqlalchemy.exc.ObjectNotExecutableError: Not an executable object:.
    Нужно либо переустановить старую версию SQLAlchemy командой терминала( pip install SQLAlchemy==1.4.17) и тогда всё заработает, или разбираться в документации SQLAlchemy 2.0 и переписывать строку запроса q="""SELECT ...""".

  • @polaskatel
    @polaskatel Рік тому

    Не факт что в базе есть данные с каждым днём. Значит нам нужна таблица с датами каждого дня и к ней уже присоединяем основные данные по дате. А в целом спасибо за пример

  • @MaksimZhiganov
    @MaksimZhiganov 2 роки тому

    загрузил библиотеку pandasql через "pip install pandasql". Но когда импортирую, пишет:
    No module named 'pandasql'

    • @timikys2
      @timikys2 2 роки тому

      Сам забыл как сделать, твой совет помог вспомнить)
      А тебе надо добавить ! в начало будет "!pip install pandasql"
      ! нужен чтобы команды в консоль отправлять

  • @peskarr
    @peskarr Рік тому

    Много лишних слов

    • @karpovcourses
      @karpovcourses  Рік тому

      Из песни слова не выкинешь.