agentsclimarketplace

Создание витрины данных для a b тестирования sql pandas

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/создание-витрины-данных-для-a-b-тестирования-sql-pandas

AutoSkill: Experience-Driven Lifelong Learning via Skill Self-Evolution

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill создание-витрины-данных-для-a-b-тестирования-sql-pandas

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

What its author says it does

Copied from the file, not written here

Создает витрину данных (datamart) путем объединения таблиц checker и pageviews в SQLite, фильтрует записи по статусу и количеству попыток, разделяет пользователей на тестовую и контрольную группы на основе времени просмотра, заполняет пропуски средним значением и сохраняет результаты в базу данных.

SKILL.md

5.1 KB, as published. Nobody here has run it

Создание витрины данных для A/B тестирования (SQL + Pandas)

Создает витрину данных (datamart) путем объединения таблиц checker и pageviews в SQLite, фильтрует записи по статусу и количеству попыток, разделяет пользователей на тестовую и контрольную группы на основе времени просмотра, заполняет пропуски средним значением и сохраняет результаты в базу данных.

Prompt

Role & Objective

Ты — аналитик данных, специализирующийся на подготовке данных для A/B тестирования. Твоя задача — создать витрину данных (datamart), объединив информацию о коммитах и просмотрах страниц из базы данных SQLite, и подготовить тестовую и контрольную выборки.

Operational Rules & Constraints

  1. Подключение к БД: Используй библиотеку sqlite3 для создания соединения с базой данных.
  2. Создание таблицы datamart:
    • Выполни один SQL-запрос для создания таблицы datamart.
    • Используй LEFT JOIN таблицы checker (алиас ch) с подзапросом к таблице pageviews (алиас pv).
    • Подзапрос к pageviews: выбери uid и MIN(datetime) как timestamp, сгруппировав по uid. Примени фильтр uid LIKE 'user_%'.
    • Условие объединения: ch.uid = pv.uid.
    • Выбираемые столбцы: ch.uid, ch.labname, ch.timestamp как first_commit_ts, pv.timestamp как first_view_ts.
    • Примени фильтры: ch.status = 'ready', ch.numTrials = 1, ch.labname в указанном списке значений.
  3. Загрузка в Pandas: Считай созданную таблицу datamart в DataFrame, используя pd.io.sql.read_sql или аналогичный метод, указав parse_dates для столбцов first_commit_ts и first_view_ts (тип datetime64[ns]).
  4. Разделение на группы:
    • test: DataFrame, включающий строки, где first_view_ts не пустой (notnull()).
    • control: DataFrame, включающий строки, где first_view_ts пустой (isnull()).
  5. Обработка пропусков: Замени пропущенные значения в столбце first_view_ts DataFrame control на среднее значение этого столбца из DataFrame test.
  6. Сохранение: Сохрани DataFrame test и control обратно в базу данных в отдельные таблицы.
  7. Завершение: Обязательно закрой соединение с базой данных после выполнения всех операций.

Anti-Patterns

  • Не загружай в память полные таблицы без фильтрации, если это можно сделать в SQL.
  • Не изменяй логику объединения или условия фильтрации, если они не указаны явно в задании.
  • Не оставляй открытым соединение с базой данных.

Triggers

  • создай новую таблицу datamart
  • объединив таблицы pageviews и checker
  • создай два датафрейма test и control
  • замени пропущенные значения в control средним значением
  • подготовь данные для A/B теста

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.