Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -269,6 +269,66 @@ def update_download_link():
|
|
269 |
title='Накопительное количество сообщений по моделям'
|
270 |
)
|
271 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
272 |
# Prepare display outputs
|
273 |
total_messages_display_value = f"**Общее количество сообщений:** {total_messages}"
|
274 |
total_clean_messages_display_value = f"**Общее количество сообщений без необходимости корректировок:** {total_clean_messages}"
|
@@ -278,7 +338,6 @@ def update_download_link():
|
|
278 |
clean_model_pie_fig = px.pie(values=clean_model_counts.values, names=clean_model_counts.index, title='Сообщения без корректировок')
|
279 |
contributor_pie_fig = px.pie(values=contributor_counts.values, names=contributor_counts.index, title='Н��иболее активные контрибьюторы')
|
280 |
date_message_fig = px.bar(x=date_counts.index, y=date_counts.values, labels={'x': 'Дата', 'y': 'Количество сообщений'}, title='Количество добавленных сообщений по датам')
|
281 |
-
|
282 |
|
283 |
return (
|
284 |
f"[Скачать базу сообщений]({link})",
|
@@ -288,7 +347,9 @@ def update_download_link():
|
|
288 |
clean_model_pie_fig,
|
289 |
contributor_pie_fig,
|
290 |
date_message_fig,
|
291 |
-
cumulative_model_fig
|
|
|
|
|
292 |
)
|
293 |
|
294 |
else:
|
@@ -2035,6 +2096,8 @@ with gr.Blocks() as demo:
|
|
2035 |
|
2036 |
date_message_chart = gr.Plot(label="График 4")
|
2037 |
cumulative_model_chart = gr.Plot(label="График 5")
|
|
|
|
|
2038 |
|
2039 |
gr.Markdown("---")
|
2040 |
|
@@ -2711,7 +2774,9 @@ with gr.Blocks() as demo:
|
|
2711 |
clean_model_pie_chart,
|
2712 |
contributor_pie_chart,
|
2713 |
date_message_chart,
|
2714 |
-
cumulative_model_chart
|
|
|
|
|
2715 |
]
|
2716 |
)
|
2717 |
|
|
|
269 |
title='Накопительное количество сообщений по моделям'
|
270 |
)
|
271 |
|
272 |
+
# Вычисляем накопительное количество сообщений без корректировок по моделям
|
273 |
+
clean_df['Дата сохранения'] = pd.to_datetime(clean_df['Дата сохранения'], errors='coerce')
|
274 |
+
|
275 |
+
# Группируем данные по дате и модели, считаем количество сообщений
|
276 |
+
clean_model_date_counts = clean_df.groupby([clean_df['Дата сохранения'].dt.date, 'Модель']).size().reset_index(name='counts')
|
277 |
+
|
278 |
+
# Поворачиваем таблицу так, чтобы модели были столбцами, а даты — строками
|
279 |
+
clean_model_date_pivot = clean_model_date_counts.pivot(index='Дата сохранения', columns='Модель', values='counts').fillna(0)
|
280 |
+
|
281 |
+
# Сортируем даты по возрастанию
|
282 |
+
clean_model_date_pivot = clean_model_date_pivot.sort_index()
|
283 |
+
|
284 |
+
# Вычисляем накопительную сумму по датам
|
285 |
+
clean_model_cumulative = clean_model_date_pivot.cumsum()
|
286 |
+
|
287 |
+
# Сбрасываем индекс для преобразования 'Дата сохранения' из индекса в столбец
|
288 |
+
clean_model_cumulative_reset = clean_model_cumulative.reset_index()
|
289 |
+
|
290 |
+
# Преобразуем DataFrame в длинный формат для построения графика
|
291 |
+
clean_model_cumulative_melted = clean_model_cumulative_reset.melt(id_vars='Дата сохранения', var_name='Модель', value_name='Количество сообщений без корректировок')
|
292 |
+
|
293 |
+
# Создаем график
|
294 |
+
cumulative_clean_model_fig = px.line(
|
295 |
+
clean_model_cumulative_melted,
|
296 |
+
x='Дата сохранения',
|
297 |
+
y='Количество сообщений без корректировок',
|
298 |
+
color='Модель',
|
299 |
+
title='Накопительное количество сообщений без корректировок по моделям'
|
300 |
+
)
|
301 |
+
|
302 |
+
# Вычисляем накопительное количество сообщений по авторам
|
303 |
+
df['Дата сохранения'] = pd.to_datetime(df['Дата сохранения'], errors='coerce')
|
304 |
+
|
305 |
+
# Группируем данные по дате и автору, считаем количество сообщений
|
306 |
+
author_date_counts = df.groupby([df['Дата сохранения'].dt.date, 'Автор']).size().reset_index(name='counts')
|
307 |
+
|
308 |
+
# Поворачиваем таблицу так, чтобы авторы были столбцами, а даты — строками
|
309 |
+
author_date_pivot = author_date_counts.pivot(index='Дата сохранения', columns='Автор', values='counts').fillna(0)
|
310 |
+
|
311 |
+
# Сортируем даты по возрастанию
|
312 |
+
author_date_pivot = author_date_pivot.sort_index()
|
313 |
+
|
314 |
+
# Вычисляем накопительную сумму по датам
|
315 |
+
author_cumulative = author_date_pivot.cumsum()
|
316 |
+
|
317 |
+
# Сбрасываем индекс для преобразования 'Дата сохранения' из индекса в столбец
|
318 |
+
author_cumulative_reset = author_cumulative.reset_index()
|
319 |
+
|
320 |
+
# Преобразуем DataFrame в длинный формат для построения графика
|
321 |
+
author_cumulative_melted = author_cumulative_reset.melt(id_vars='Дата сохранения', var_name='Автор', value_name='Количество сообщений')
|
322 |
+
|
323 |
+
# Создаем график
|
324 |
+
cumulative_author_fig = px.line(
|
325 |
+
author_cumulative_melted,
|
326 |
+
x='Дата сохранения',
|
327 |
+
y='Количество сообщений',
|
328 |
+
color='Автор',
|
329 |
+
title='Накопительное количество сообщений по авторам'
|
330 |
+
)
|
331 |
+
|
332 |
# Prepare display outputs
|
333 |
total_messages_display_value = f"**Общее количество сообщений:** {total_messages}"
|
334 |
total_clean_messages_display_value = f"**Общее количество сообщений без необходимости корректировок:** {total_clean_messages}"
|
|
|
338 |
clean_model_pie_fig = px.pie(values=clean_model_counts.values, names=clean_model_counts.index, title='Сообщения без корректировок')
|
339 |
contributor_pie_fig = px.pie(values=contributor_counts.values, names=contributor_counts.index, title='Н��иболее активные контрибьюторы')
|
340 |
date_message_fig = px.bar(x=date_counts.index, y=date_counts.values, labels={'x': 'Дата', 'y': 'Количество сообщений'}, title='Количество добавленных сообщений по датам')
|
|
|
341 |
|
342 |
return (
|
343 |
f"[Скачать базу сообщений]({link})",
|
|
|
347 |
clean_model_pie_fig,
|
348 |
contributor_pie_fig,
|
349 |
date_message_fig,
|
350 |
+
cumulative_model_fig,
|
351 |
+
cumulative_clean_model_fig, # Новый график
|
352 |
+
cumulative_author_fig # Новый график
|
353 |
)
|
354 |
|
355 |
else:
|
|
|
2096 |
|
2097 |
date_message_chart = gr.Plot(label="График 4")
|
2098 |
cumulative_model_chart = gr.Plot(label="График 5")
|
2099 |
+
cumulative_clean_model_chart = gr.Plot(label="График 6")
|
2100 |
+
cumulative_author_chart = gr.Plot(label="График 7")
|
2101 |
|
2102 |
gr.Markdown("---")
|
2103 |
|
|
|
2774 |
clean_model_pie_chart,
|
2775 |
contributor_pie_chart,
|
2776 |
date_message_chart,
|
2777 |
+
cumulative_model_chart,
|
2778 |
+
cumulative_clean_model_chart, # Новый график
|
2779 |
+
cumulative_author_chart # Новый график
|
2780 |
]
|
2781 |
)
|
2782 |
|