XD
Знаток
(354)
1 месяц назад
report = (
users.query('@min_analysis_date <= dt and dt <= @max_analysis_date')
.groupby('dt')
.agg({'user_id': 'nunique'})
.reset_index()
)
# Построим график
plt.figure(figsize=(10, 6))
plt.plot(report['dt'], report['user_id'])
plt.title('Динамика привлечения пользователей')
plt.xlabel('Дата привлечения')
plt.xticks(rotation=45)
plt.ylabel('Размер когорты')
plt.grid(True)
plt.show()
# Рассчитаем средний размер когорты
mean_daily_cohort_size = report['user_id'].mean()
print(mean_daily_cohort_size.astype(int))
Постройте график, отражающий динамику привлечения пользователей в этот период.
Рассчитайте средний размер когорты и сохраните результат в переменной mean_daily_cohort_size. Приведите её к типу int и выведите на экран.
import pandas as pd
from datetime import datetime, timedelta
from matplotlib import pyplot as plt
users = pd.read_csv('ch02_problems01_users.csv') # профили
visits = pd.read_csv('ch02_problems01_visits.csv') # сессии
# преобразование данных о времени
users['dt'] = pd.to_datetime(users['dt']).dt.date
users['first_ts'] = pd.to_datetime(users['first_ts'])
visits['session_start'] = pd.to_datetime(visits['session_start'])
# доступный интервал привлечения пользователей
min_analysis_date = users['dt'].min()
observation_date = users['dt'].max()
# горизонт анализа
analysis_horizon = 14
# максимально возможная дата привлечения с учётом горизонта
max_analysis_date = observation_date - timedelta(days=analysis_horizon - 1)
# рассчитайте размеры когорт
report = (
users.query('@min_analysis_date < dt and dt < @max_analysis_date') # допишите код
.groupby('dt') # допишите код
.agg({'user_id':'nunique'}) # допишите код
)
ВОТ ЗДЕСЬ ОШИБКА В КОДЕ
report. # постройте график, добавьте сетку
plt.title('Динамика привлечения пользователей') # название графика
plt.xlabel('Дата привлечения') # название оси X
plt.xticks(rotation=45) # угол наклона подписей на оси X
plt.ylabel('Размер когорты') # название оси Y
plt.show()
# посчитайте средний размер когорты
mean_daily_cohort_size = report.mean()
# ваш код здесь
print(mean_daily_cohort_size.astype(int))
# выведите средний размер когорты в виде целого числа