Задача: Напишите решение для определения ежедневного количества активных пользователей за период в 30 дни, заканчивающиеся 2019-07-27 включительно. Пользователь был активен в someday, если он совершил хотя бы одно действие в этот день.
Дано:
В этой таблице могут дублироваться строки.
Столбец activity_type представляет собой перечисление (категорию) типа ('open_session', 'end_session', 'scroll_down', 'send_message').
В таблице показаны действия пользователя на веб-сайте социальной сети.
Обратите внимание, что каждый сеанс принадлежит ровно одному пользователю.
Решение:
import pandas as pd
def user_activity(activity: pd.DataFrame) -> pd.DataFrame:
new_df = activity.groupby('activity_date')['user_id'].nunique().reset_index()
result_df = new_df[new_df['activity_date'].isin(pd.date_range("2019-06-28", "2019-07-27"))].rename(columns={'activity_date':'day', 'user_id':'active_users'})
return result_df
Результат:
Источник: https://leetcode.com/problems/user-activity-for-the-past-30-days-i/description/