Итак, разберем следующие задачки из тестового на аналитика данных в OZON. Первую часть смотрите
тут
⭐️ Задание 2
Для всех строк исходного датасета, сгруппированных по номеру заказа, посчитать среднее значение времени доставки по группе. Результат необходимо добавить в новый столбец датафрейма.
У нас с прошлого задания сформировался датасет df со следующими полями:
user_id, order_number, click2delivery, order_items_sum, retention
Делаем обычную группировку:
orders = (
df
.groupby('order_number')['click2delivery']
.agg(mean_time='mean')
.reset_index()
)
Если мы пишем код в скобочках (), то можно вот так прописывать, перенося точку и метод на отдельные строки.
Ну и присоединим это среднее к основному df :
df = df.merge(orders, how='inner', on='order_number')
⭐️ Задание 3
Отдельной колонкой добавить значения последовательности, начинающейся с 0 и 1, где каждый следующий элемент является суммой двух предыдущих, умноженных на 0.5.
Задаем лист arr, а потом в цикле пока длина листа не составит 10 тыс, добавляем сумму двух предыдущих элементов, умноженных на 0.5:
arr = [0, 1]
while len(arr) < 10_000:
arr.append(sum(arr[-2:]) * 0.5)
df['seq'] = arr
Ну и еще было несколько заданий. 📎 Их найдете в файле юпитер ноутбука 👉
здесь
Обсуждение 6
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram