gonzalobenegas commited on
Commit
1ab1abd
Β·
verified Β·
1 Parent(s): 1a25590

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +47 -14
app.py CHANGED
@@ -1,24 +1,57 @@
1
  import gradio as gr
2
  import pandas as pd
3
 
4
- # Sample dataframe - replace with your results
5
  leaderboard_df = pd.DataFrame({
6
- 'Name': ['Alice', 'Bob', 'Charlie'],
7
- 'Score': [95, 88, 92],
8
- 'Rank': [1, 3, 2]
 
 
9
  })
10
 
11
- def get_leaderboard():
12
- return leaderboard_df.sort_values('Rank')
 
 
 
 
 
13
 
14
- with gr.Blocks(title="Leaderboard") as demo:
15
- gr.Markdown("# πŸ† Leaderboard")
16
- gr.Dataframe(
17
- value=get_leaderboard,
18
- #headers=["Name", "Score", "Rank"],
19
- #datatype=["str", "number", "number"],
20
- #row_count=5,
21
- #col_count=(3, "fixed"),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
  )
23
 
24
  demo.launch()
 
1
  import gradio as gr
2
  import pandas as pd
3
 
4
+ # Expanded dataframe with hidden columns
5
  leaderboard_df = pd.DataFrame({
6
+ 'Name': ['Alice', 'Bob', 'Charlie', 'Dana'],
7
+ 'Score': [95, 88, 92, 85],
8
+ 'Rank': [1, 3, 2, 4],
9
+ 'Dataset': ['Mendelian traits', 'Complex traits', 'Mendelian traits', 'Complex traits'],
10
+ 'Approach': ['Zero-shot', 'Linear probing', 'Linear probing', 'Zero-shot']
11
  })
12
 
13
+ def filter_leaderboard(dataset_choice, approach_choice):
14
+ """Filter dataframe based on selections and drop filter columns"""
15
+ filtered_df = leaderboard_df[
16
+ (leaderboard_df['Dataset'] == dataset_choice) &
17
+ (leaderboard_df['Approach'] == approach_choice)
18
+ ]
19
+ return filtered_df.drop(columns=['Dataset', 'Approach']).sort_values('Rank')
20
 
21
+ with gr.Blocks(title="Advanced Leaderboard") as demo:
22
+ gr.Markdown("## πŸ† Interactive Leaderboard")
23
+
24
+ with gr.Row():
25
+ dataset_filter = gr.Radio(
26
+ choices=["Mendelian traits", "Complex traits"],
27
+ value="Mendelian traits",
28
+ label="Select Dataset"
29
+ )
30
+ approach_filter = gr.Radio(
31
+ choices=["Zero-shot", "Linear probing"],
32
+ value="Zero-shot",
33
+ label="Select Approach"
34
+ )
35
+
36
+ leaderboard = gr.Dataframe(
37
+ headers=["Name", "Score", "Rank"],
38
+ datatype=["str", "number", "number"],
39
+ interactive=False,
40
+ )
41
+
42
+ # Connect filters to update the table
43
+ for filter in [dataset_filter, approach_filter]:
44
+ filter.change(
45
+ fn=filter_leaderboard,
46
+ inputs=[dataset_filter, approach_filter],
47
+ outputs=leaderboard
48
+ )
49
+
50
+ # Initial load
51
+ demo.load(
52
+ fn=filter_leaderboard,
53
+ inputs=[dataset_filter, approach_filter],
54
+ outputs=leaderboard
55
  )
56
 
57
  demo.launch()