gauravlochab commited on
Commit
13dff28
·
1 Parent(s): 9a26d72

fix: running weekly avg

Browse files
Files changed (1) hide show
  1. app.py +12 -9
app.py CHANGED
@@ -60,13 +60,11 @@ def fetch_and_aggregate_transactions():
60
  for service_id in range(1, total_services + 1):
61
  service = service_registry.functions.getService(service_id).call()
62
  agent_ids = service[-1]
63
- print('--------DEBUG 1-------', service_id)
64
  if 40 in agent_ids or 25 in agent_ids:
65
  agent_instance_data = service_registry.functions.getAgentInstances(service_id).call()
66
  agent_addresses = agent_instance_data[1]
67
  if agent_addresses:
68
  agent_address = agent_addresses[0]
69
- print('--------DEBUG 2-------', service_id, agent_address)
70
  response_transfers = get_transfers("valory", agent_address)
71
  transfers = response_transfers.get("transfers", [])
72
 
@@ -304,15 +302,20 @@ def create_visualizations():
304
 
305
  daily_agents_df = df_agents.groupby('date').agg({'agent_count': 'sum'}).reset_index()
306
  daily_agents_df.rename(columns={'agent_count': 'daily_agent_count'}, inplace=True)
307
- weekly_agents_df = df_agents.groupby('week').agg({'agent_count': 'sum'}).reset_index()
308
- weekly_agents_df.rename(columns={'agent_count': 'weekly_agent_count'}, inplace=True)
309
-
310
- merged_df = pd.merge(daily_agents_df, df_agents[['date', 'week']], on='date', how='left')
311
- weekly_merged_df = pd.merge(merged_df, weekly_agents_df, on='week', how='left')
 
 
 
312
 
 
 
313
  adjustment_date = pd.to_datetime('2024-11-15')
314
  weekly_merged_df.loc[weekly_merged_df['date'] == adjustment_date, 'daily_agent_count'] -= 1
315
- weekly_merged_df.loc[weekly_merged_df['date'] == adjustment_date, 'weekly_agent_count'] -= 1
316
  fig_agents_registered = go.Figure(data=[
317
  go.Bar(
318
  name='Daily nr of Registered Agents',
@@ -324,7 +327,7 @@ def create_visualizations():
324
  go.Bar(
325
  name='Weekly Nr of Registered Agents',
326
  x=weekly_merged_df['date'],
327
- y=weekly_merged_df['weekly_agent_count'],
328
  opacity=0.7,
329
  marker_color='purple'
330
  )
 
60
  for service_id in range(1, total_services + 1):
61
  service = service_registry.functions.getService(service_id).call()
62
  agent_ids = service[-1]
 
63
  if 40 in agent_ids or 25 in agent_ids:
64
  agent_instance_data = service_registry.functions.getAgentInstances(service_id).call()
65
  agent_addresses = agent_instance_data[1]
66
  if agent_addresses:
67
  agent_address = agent_addresses[0]
 
68
  response_transfers = get_transfers("valory", agent_address)
69
  transfers = response_transfers.get("transfers", [])
70
 
 
302
 
303
  daily_agents_df = df_agents.groupby('date').agg({'agent_count': 'sum'}).reset_index()
304
  daily_agents_df.rename(columns={'agent_count': 'daily_agent_count'}, inplace=True)
305
+ # Sort by date to ensure proper running total calculation
306
+ daily_agents_df = daily_agents_df.sort_values('date')
307
+
308
+ # Create week column
309
+ daily_agents_df['week'] = daily_agents_df['date'].dt.to_period('W').apply(lambda r: r.start_time)
310
+
311
+ # Calculate running total within each week
312
+ daily_agents_df['running_weekly_total'] = daily_agents_df.groupby('week')['daily_agent_count'].cumsum()
313
 
314
+ # Create final merged dataframe
315
+ weekly_merged_df = daily_agents_df.copy()
316
  adjustment_date = pd.to_datetime('2024-11-15')
317
  weekly_merged_df.loc[weekly_merged_df['date'] == adjustment_date, 'daily_agent_count'] -= 1
318
+ weekly_merged_df.loc[weekly_merged_df['date'] == adjustment_date, 'running_weekly_total'] -= 1
319
  fig_agents_registered = go.Figure(data=[
320
  go.Bar(
321
  name='Daily nr of Registered Agents',
 
327
  go.Bar(
328
  name='Weekly Nr of Registered Agents',
329
  x=weekly_merged_df['date'],
330
+ y=weekly_merged_df['running_weekly_total'],
331
  opacity=0.7,
332
  marker_color='purple'
333
  )