fruitpicker01 commited on
Commit
34b18c6
·
verified ·
1 Parent(s): ad44a9a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +68 -3
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