Как использовать directx в python
Автор оригинала: Peter Rubio.
Вступление
Импортируйте!
Если вы когда-либо импортировали что-то вроде случайного, Numpy или Math, то это действительно так просто, как это! Если у вас нет, то вот быстрый взгляд на то, как это сделано.
В качестве примера давайте будем использовать математический модуль, чтобы найти квадратный корень номера.
Во-первых, мы им импортируем.
Чтобы увидеть доступные функции и атрибуты для модуля, используйте встроенный функцию dir () :
Кроме того, вы можете использовать ключевое слово « из », а затем имя модуля и « Импорт », а затем атрибут или функция. Таким образом, мы больше не должны использовать нотацию DOT при вызове квадратной корневой функции.
И, как и ожидалось, пытаясь получить доступ к другим функциям или атрибутам все еще требует записи DOT:
Определенные пользователем функции
По мере того, как вы прогрессируете в своем кодировании Python, вы в конечном итоге создадите свои собственные функции и внедрим их в другие программы. В качестве примера мы проиллюстрируем это простым калькулятором наконечника. Я приглашаю вас следовать.
Вот определение функции:
Теперь, чтобы вызвать функцию из другого файла в Python, мы просто используем «импорт», а затем имя вашего .py файл:
Если у вас есть несколько функций в вашем файле и хотели бы видеть их, не забудьте использовать Дир функция. В нашем случае он только показывает Calctip Функция:
Кроме того, не забывайте, что мы можем использовать альтернативный метод, если вы хотите пропустить нотацию DOT:
Вещи, чтобы осмотреть для
- PWD рабочий каталог
- Текущий каталог «/Home/Pete/Home/Python»
- Файл «MyFunctions.py» находится здесь
На дисплее ниже скриншота я меняю рабочий каталог на дом (
) и запустить PWD Чтобы показать текущий путь каталога. Затем я запустил интерпретатор Python и попытаться импортировать MyFunctions файл. Теперь он показывает « ModulenotfoundError », потому что файл не в текущем каталоге.
Если вы используете IDE Затем убедитесь, что ваш файл находится в вашем проекте. На экране ниже скриншота отображается IDE SPYDER с проектом «Функциональный пример». Скриншот « myfunctions.py » файл с определением функции кальцинг :
Вот выход консоли при запуске main.py Файл, передавая переменную « Билл » в Calctip Функция:
И вот как позвонить в функцию из другого файла в Python. Я надеюсь, что вы нашли эту статью полезную и с нетерпением ждем писать больше! До скорого!
Одна из основных задач PPC-специалиста — следить за конверсионностью рекламы. Александр Любивый из digital-агентства Bquadro показывает, как оптимизировать этот процесс с помощью Python.
Изначально я использовал Python для сбора BI-аналитики по Яндекс.Директу. Это помогло мне сделать процесс изучения статистики более удобным: я стал максимально быстро замечать отклонения в рекламе, а освободившееся время уделял ее доработкам.
Со временем я решил оптимизировать повторяющиеся задачи по отслеживанию конверсионности рекламы. Как результат — процесс оптимизации рекламы ускорился, стало удобнее следить за кампаниями (пара кликов — и все готово!), но самое главное, рутины стало меньше.
В этой статье я покажу, как проверяю конверсионность в РСЯ с помощью Python в разрезе ключевых слов и площадок показа. Если вы повторите мои действия, получите такие отчеты:
Ключевые слова, у которых стоимость конверсии выше среднего уровня на 50%
Ключевые слова, по которым расходы составили свыше 150% средней конверсии и которые до сих пор не принесли конверсии
Площадки, на которых стоимость конверсии в 1,5 раза выше среднего уровня
Площадки, на которых расходы составили больше 150% средней конверсии и которые до сих пор не принесли конверсииЧто вам для этого понадобится:
Токен для работы с API. Чтобы его получить, у вас должно быть приложение, которое Яндекс проверит и допустит к работе. Если у вас нет приложения, а провернуть все то, что я покажу в этой статье, хочется, воспользуйтесь нашим приложением — так процесс получения токена займет не более минуты. Сделать это можно здесь. Токен будет в адресной строке после “access_token=”.
Видеоинструкции, которые я записал для вас: в первой показываю, как построить запрос к API Яндекс.Директ, а во второй — как вывести полученные данные в BigQuery, подключиться к DataStudio и визуализировать их.
Готовые файлы, с помощью которых вы сами можете настроить получение статистики по ключевым словам и площадкам.
Python-пакет Yadirstat, который позволяет с помощью одной строки кода получить информацию сразу в нескольких разрезах (разбираться в запросах не нужно).
Инструкция Яндекса, если вы хотите получить конверсионность по конкретной цели, потому что в этой статье я показываю, как получить общую конверсионность.
Чтобы построить аналитику для Яндекс.Директа без помощи коннекторов максимально разнообразно и глубоко, нам потребуется 4 составляющих:
Запрос к API Яндекс.Директа.
Алгоритм выглядит так:
Строим запросы к API Яндекс.Директа. Пишем на Python конкретные запросы. Например, вывод статистики за последние 5 дней или вывод статистики по ключевым словам за 90 дней.
Отправляем данные из DataFrame в BigQuery. Почему именно так: BigQuery — это простой инструмент интернет-маркетинга и он достаточно легко подключается к Data Studio, что нам и надо.
Подключаемся к DataStudio и визуализируем полученные данные.
Для проверки конверсионности в РСЯ достаточно первых двух шагов: построить запросы к API Яндекс.Директа и упаковать ответы на них в DataFrame. Подробнее об этом далее.
Шаг 1. Создаем структуру запроса
Пример запроса можно взять в Яндексе. Я взял пример, который демонстрирует выполнение запроса к сервису Reports, обработку и вывод результата.
Открываем запрос. В первом блоке оставляем все так, как есть.
Теперь фокусируемся на теле запроса.
Пример нашего запроса
Указываем даты . Если вы хотите задать произвольный период, в “ DataRangeType ” нужно поставить “ CUSTOM_DATE ” и указать даты начала и окончания периода в параметрах “ DateFrom ” и “ DateTo ” . Если же вам нужны, например, последние 90 дней, поставьте в “ DataRangeType ” “ LAST_90_DAYS ” , а “ DateFrom ” и “ DateTo ” уберите.
Указываем название столбцов, которые нужны в отчете. Здесь действуют те же ограничения, что и в Яндекс.Директе. То есть просто так запросить какую угодно статистику нельзя. Если в отчетах Яндекс.Директа система просто не дает выбрать некоторые столбцы, то в работе с API необходимо выбрать нужный вид отчета и столбцы, которые можно использовать с этим отчетом, иначе вы получите ошибку. В справке Яндекса можно узнать, какой тип отчета нужен и какие столбцы в этих отчетах вы сможете использовать.
Если нужно, включаем НДС. То есть в “ IncludeVAT ” вместо “ NO ” пишем “ YES ” .
Выставляем фильтр по кликам (будет показываться статистика, по которой больше 0 кликов) и фильтр по типу площадки (только “ Ad_Network ” ).
Далее идет кусок с ответами сервера. Его оставляем без изменений.
Шаг 2. Упаковываем ответ на запрос в DataFrame
Я предпочитаю делить процесс построения запросов к серверу Яндекс.Директа на две части:
запрос к серверу;
файл с логинами, токенами, операциями с таблицами.
Это позволяет удобно работать с учетными данными клиентов и получать данные по всем клиентам сразу, не превращая код в кашу.
Ответ на запрос к API упаковываем в функцию, в которую будем передавать токен, логин, “ DateFrom ” и “ DateTo ” .
Первый файл
Здесь нам нужен запрос к серверу и упаковка его ответа в DataFrame.
Запрос мы уже подготовили в первом шаге. Теперь нам нужно избавиться от “--” и сделать из данных полноценный DataFrame.
Код выглядит так:
Открываем или создаем файл в режиме записи (название можно дать любое).
Записываем в файл ответ сервера с нашей статистикой (в нашем случае это переменная req).
Сразу же читаем этот файл с помощью pd.read_csv.
В скобках указываем название файла (у нас это “cashe.csv”), индекс нашего хедера (можно оставить без изменений), разделители между данными (sep), какая у нас индексируемая колонка, делаем из “--” отсутствие данных (na_values). После скобок с помощью fillna заменяем отсутствующие данные на 0.Возвращаем наш DataFrame как переменную f.
Второй файл
Импортируем наш файл и библиотеки.
Убираем ограничения на отображение информации.
Записываем свои логин и токен в переменные.
Просим наш соседний файл дать информацию по ключам (обращаемся к функции rsy_keys из соседнего файла и передаем в нее токен и логин): data = rsy_keys(my_token,my_login).
Теперь необходимо оставить только строки с ключами, у которых стоимость конверсий выше среднего уровня на 50%.
Смотрим ключевые слова, по которым было потрачено больше, чем 150% стоимости конверсии и не было конверсий.
В итоге видим следующее:
Аналогично получаем статистику по площадкам:
В первом файле прописываем еще один запрос (он будет называться “rsy_placement”);
В запросе изменяем столбцы (запрашиваем не ключи, а плейсмент) и тип отчета. Используем кастомный отчет “ReportType”: “CUSTOM_REPORT”.
Прописываем код для получения неэффективных площадок:
Вот и все. В результате у вас появятся все отчеты, которые мы показали во введении:
ключевые слова, у которых стоимость конверсии выше среднего уровня на 50%;
ключевые слова, по которым расходы составили свыше 150% средней конверсии и которые до сих пор не принесли конверсии;
площадки, на которых стоимость конверсии в 1,5 раза выше среднего уровня;
площадки, на которых расходы составили больше 150% средней конверсии и которые до сих пор не принесли конверсии.
В статье расскажем как выгрузить данные из API Яндекс Директ в CSV-таблицу с помощью Python.
Материал довольно сложный, очень рекомендуем просмотреть видео, чтобы допустить меньше ошибок.
Готовый код можно скачать тут. Вам останется только указать свои учетные данные.
Была необходимость проанализировать большой объем данных. Столкнулись со следующими проблемами:
- 30 млн. строк за год
- Веб-интерфейс показывает только 100 тыс. строк
- Не нашли подходящего коннектора для Power BI
- Подключение Power BI к Big Query занимает больше времени
Предложенное решение не является единственным или оптимальным. Мы не разработчики, нам просто нужно было решить задачу быстро. Делимся способом с вами.
Подготовка
В данной статье мы не будем знакомить вас с синтаксисом и возможностями Python – это полноценный язык программирования, изучить основы которого можно по видеоурокам или на ресурсах типа CodeAcedemy.
Яндекс сам дает готовый пример кода, которым можно выгрузить отчет, остается указать некоторые параметры. Мы доработали скрипт таким образом, чтобы большой объем данных можно было выгрузить помесячно и склеить в один файл для дальнейшего анализа.
- скачать PyCharm – среда разработки Python
- зарегистрировать приложение для доступа к API (инструкция) – необязательный шаг
- получить токен для доступа к API – выводится в браузере, после разрешения доступа к Директу по ссылке вида: "oauth.yandex.ru/authorize?response_type=code&client_id=ИДЕНТИФИКАТОР_ПРИЛОЖЕНИЯ"
Мы с вами построим обычный отчет, аналогичный «Мастеру отчетов» в интерфейсе Яндекс Директ, но с помощью кода и сторонней программы. Нужно определиться с полями и показателями, которые будем выгружать. Важно знать, что некоторые из полей несовместимы между собой, то есть в одном отчете их не выгрузить. Подробное описание всех полей и их совместимости находится в справке Яндекс. Там же находится информация о типах отчетов, которые можно выгрузить, рекомендуем ознакомиться.
В приложенном коде мы постарались сделать максимально широкий набор полей, подходящий для анализа почти любых срезов. Подробно описали поля в видео, тут затронем только самые важные. Открываем файл «loader.py» и приступаем к его настройке.
Выгрузка данных пошагово
Укажите путь к папке, в которой находится скачанный код, туда же загрузятся данные из API.
Замените авторизационный токен и логин для входа в Директ на ваши:
Укажите начальную дату выгрузки:
Далее вы увидите список полей отчета. В первой строке указан период, для которого данные будут суммироваться, в рамках данной задачи – это месяц. Большинство остальных полей понятны по названию, более подробно затрагиваем их в видео.
Пропишите идентификатор цели, без него данные могут не выгрузиться. Найти его можно в Яндекс Метрике:
Параметр «Limit» задает максимальное количество строк на странице. По умолчанию это значение равно 1млн. строк. Мы увеличили это значение, чтобы ускорить выгрузку. Объяснять как это работает тут не будем, чтобы не усложнять.
Тип отчета, в нашем случае CUSTOM_REPORT=Пользовательский отчет. Если вы меняли поля, возможно, вам нужен другой тип, подробнее смотрите в справке.
На этом настройка завершена, можно переходить к выгрузке. Для этого щелкните правой кнопкой мыши на файл «loader.py» и выберите команду «Run».
Обработка полученных данных
После окончания загрузки данных в левой панели навигации вы увидите несколько csv-таблиц, с датами в названии. Каждый файл содержит данные за месяц. Если есть файлы с выгрузкой за неполный месяц, удаляем их. В нашем примере останутся 2 файла:
Все таблицы мы будем «склеивать» в один документ, поэтому нужно их подготовить. Каждая из таблиц содержит названия отчета и заголовки столбцов вверху и итоговые значения внизу, это вызовет ошибку. Нужно оставить заголовки столбцов только в самой ранней таблице, а в остальных удалить. Итоговые значения и нужно удалить из всех таблиц. Скорее всего, Excel не потянет такой объем, поэтому быстрее будет открыть в текстовом редакторе, в нашем примере «Sublime Text».
Открываем за самый ранний период и удаляем первую строку с его названием:
Аналогично удаляем и последнюю строку документа с итоговым количеством строк:
В остальных файлах удаляем название отчета, заголовки столбцов и итоговую строку в конце:
Теперь осталось склеить файлы в один. Это делается через терминал. Команда для Windows и macOS будет отличаться. На Windows для каждого из файлов нужно выполнить команду:
На этом все, мы получили файл, который можно подключить к Power BI и визуализировать данные. Как это сделать расскажем в следующей статье.
Одна из основных задач PPC-специалиста — следить за конверсионностью рекламы. Александр Любивый из digital-агентства Bquadro показывает в материале для ppc.world, как оптимизировать этот процесс с помощью Python.
Изначально я использовал Python для сбора BI-аналитики по Яндекс.Директу. Это помогло мне сделать процесс изучения статистики более удобным: я стал максимально быстро замечать отклонения в рекламе, а освободившееся время уделял ее доработкам.
Со временем я решил оптимизировать повторяющиеся задачи по отслеживанию конверсионности рекламы. Как результат — процесс оптимизации рекламы ускорился, стало удобнее следить за кампаниями (пара кликов — и все готово!), но самое главное, рутины стало меньше.
В этой статье я покажу, как проверяю конверсионность в РСЯ с помощью Python в разрезе ключевых слов и площадок показа. Если вы повторите мои действия, получите такие отчеты:
Что вам для этого понадобится:
- Токен для работы с API. Чтобы его получить, у вас должно быть приложение, которое Яндекс проверит и допустит к работе. Если у вас нет приложения, а провернуть все то, что я покажу в этой статье, хочется, воспользуйтесь нашим приложением — так процесс получения токена займет не более минуты. Сделать это можно здесь. Токен будет в адресной строке после “access_token=”.
- Видеоинструкции, которые я записал для вас: в первой показываю, как построить запрос к API Яндекс.Директ, а во второй — как вывести полученные данные в BigQuery, подключиться к DataStudio и визуализировать их. , с помощью которых вы сами можете настроить получение статистики по ключевым словам и площадкам. , который позволяет с помощью одной строки кода получить информацию сразу в нескольких разрезах (разбираться в запросах не нужно). , если вы хотите получить конверсионность по конкретной цели, потому что в этой статье я показываю, как получить общую конверсионность.
Чтобы построить аналитику для Яндекс.Директа без помощи коннекторов максимально разнообразно и глубоко, нам потребуется 4 составляющих:
- Запрос к API Яндекс.Директа.
- DataFrame.
- BigQuery.
- Data Studio.
Алгоритм выглядит так:
Для проверки конверсионности в РСЯ достаточно первых двух шагов: построить запросы к API Яндекс.Директа и упаковать ответы на них в DataFrame. Подробнее об этом далее.
Пример запроса можно взять в Яндексе. Я взял пример, который демонстрирует выполнение запроса к сервису Reports, обработку и вывод результата.
Открываем запрос. В первом блоке оставляем все так, как есть.
Теперь фокусируемся на теле запроса.
Указываем даты. Если вы хотите задать произвольный период, в “DataRangeType” нужно поставить “CUSTOM_DATE” и указать даты начала и окончания периода в параметрах “DateFrom” и “DateTo”. Если же вам нужны, например, последние 90 дней, поставьте в “DataRangeType” “LAST_90_DAYS”, а “DateFrom” и “DateTo” уберите.
Указываем название столбцов, которые нужны в отчете. Здесь действуют те же ограничения, что и в Яндекс.Директе. То есть просто так запросить какую угодно статистику нельзя. Если в отчетах Яндекс.Директа система просто не дает выбрать некоторые столбцы, то в работе с API необходимо выбрать нужный вид отчета и столбцы, которые можно использовать с этим отчетом, иначе вы получите ошибку. В справке Яндекса можно узнать, какой тип отчета нужен и какие столбцы в этих отчетах вы сможете использовать.
Если нужно, включаем НДС. То есть в “IncludeVAT” вместо “NO” пишем “YES”.
Выставляем фильтр по кликам (будет показываться статистика, по которой больше 0 кликов) и фильтр по типу площадки (только “Ad_Network”).
Далее идет кусок с ответами сервера. Его оставляем без изменений.
Я предпочитаю делить процесс построения запросов к серверу Яндекс.Директа на две части:
- запрос к серверу;
- файл с логинами, токенами, операциями с таблицами.
Это позволяет удобно работать с учетными данными клиентов и получать данные по всем клиентам сразу, не превращая код в кашу.
Ответ на запрос к API упаковываем в функцию, в которую будем передавать токен, логин, “DateFrom” и “DateTo”.
Здесь нам нужен запрос к серверу и упаковка его ответа в DataFrame.
Запрос мы уже подготовили в первом шаге. Теперь нам нужно избавиться от “--” и сделать из данных полноценный DataFrame.
Читайте также: