Maha-lakshmiii commited on
Commit
ac7ffe8
·
verified ·
1 Parent(s): 394a0e0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -60
app.py CHANGED
@@ -1,74 +1,50 @@
1
  import gradio as gr
 
2
 
3
- # Sample data
4
- laptops = {
5
-
6
- "Dell": {
7
- "Inspiron 15 3520": "i5 12th Gen, 8GB RAM, 512GB SSD",
8
- "XPS 13 9315": "i7 12th Gen, 16GB RAM, 1TB SSD",
9
- "G15 Gaming": "Ryzen 7, 16GB RAM, RTX 3050",
10
- "Latitude 7440": "i7, 16GB RAM, 512GB SSD"
11
- },
12
-
13
- "HP": {
14
- "Pavilion 15": "Ryzen 5, 8GB RAM, 512GB SSD",
15
- "Envy x360": "i7, 16GB RAM, 1TB SSD",
16
- "Victus Gaming": "i5, 16GB RAM, GTX 1650",
17
- "Spectre x360": "i7, 16GB RAM, OLED"
18
- },
19
-
20
- "Lenovo": {
21
- "IdeaPad Slim 3": "Ryzen 5, 8GB RAM, 512GB SSD",
22
- "ThinkPad E14": "i5, 16GB RAM, 512GB SSD",
23
- "Legion 5": "Ryzen 7, RTX 3060",
24
- "Yoga 7i": "i7, 16GB RAM, 1TB SSD"
25
- },
26
-
27
- "ASUS": {
28
- "VivoBook 15": "i5, 8GB RAM, 512GB SSD",
29
- "ZenBook 14": "i7, 16GB RAM, 1TB SSD",
30
- "ROG Strix G16": "i9, RTX 4060",
31
- "TUF A15": "Ryzen 7, RTX 3050"
32
- },
33
-
34
- "Acer": {
35
- "Aspire 5": "i5, 8GB RAM, 512GB SSD",
36
- "Swift 3": "Ryzen 7, 16GB RAM",
37
- "Predator Helios 300": "i7, RTX 3060",
38
- "Nitro 5": "Ryzen 5, GTX 1650"
39
- },
40
-
41
- "Apple": {
42
- "MacBook Air M1": "8GB RAM, 256GB SSD",
43
- "MacBook Air M2": "8GB RAM, 512GB SSD",
44
- "MacBook Pro 14": "M3, 16GB RAM",
45
- "MacBook Pro 16": "M3 Max, 32GB RAM"
46
- }
47
- }
48
 
49
  # Functions
50
- def show_models(brand):
51
- return gr.Dropdown(choices=list(laptops[brand].keys()))
 
 
 
 
 
 
 
 
 
52
 
53
- def show_specs(brand, model):
54
- return laptops[brand][model]
55
 
56
- # UI using Blocks
57
  with gr.Blocks() as app:
58
 
59
- gr.Markdown("## 💻 Laptop Brand & Model Explorer")
60
 
61
- brand_dd = gr.Dropdown(
62
- choices=list(laptops.keys()),
63
- label="Select Brand"
64
- )
65
 
66
- model_dd = gr.Dropdown(label="Select Model")
67
 
68
- output = gr.Textbox(label="Specifications")
69
 
70
- # Events MUST be inside Blocks
71
- brand_dd.change(show_models, brand_dd, model_dd)
72
- model_dd.change(show_specs, [brand_dd, model_dd], output)
 
 
 
 
 
 
73
 
74
  app.launch()
 
1
  import gradio as gr
2
+ import pandas as pd
3
 
4
+ # Load dataset
5
+ df = pd.read_csv("laptops_dataset.csv")
6
+
7
+ # Get brands
8
+ brands = df["Brand"].unique().tolist()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
 
10
  # Functions
11
+ def get_models(brand):
12
+ models = df[df["Brand"] == brand]["Model"].tolist()
13
+ return gr.Dropdown(choices=models)
14
+
15
+ def compare_laptops(brand, model1, model2):
16
+
17
+ lap1 = df[(df["Brand"] == brand) & (df["Model"] == model1)]
18
+ lap2 = df[(df["Brand"] == brand) & (df["Model"] == model2)]
19
+
20
+ if lap1.empty or lap2.empty:
21
+ return "Please select valid models."
22
 
23
+ comparison = pd.concat([lap1, lap2])
24
+ return comparison
25
 
26
+ # UI
27
  with gr.Blocks() as app:
28
 
29
+ gr.Markdown("## 💻 Laptop Comparison Tool")
30
 
31
+ brand_dd = gr.Dropdown(brands, label="Select Brand")
32
+
33
+ model1_dd = gr.Dropdown(label="Select Model 1")
34
+ model2_dd = gr.Dropdown(label="Select Model 2")
35
 
36
+ compare_btn = gr.Button("Compare")
37
 
38
+ output = gr.Dataframe()
39
 
40
+ # Events
41
+ brand_dd.change(get_models, brand_dd, model1_dd)
42
+ brand_dd.change(get_models, brand_dd, model2_dd)
43
+
44
+ compare_btn.click(
45
+ compare_laptops,
46
+ [brand_dd, model1_dd, model2_dd],
47
+ output
48
+ )
49
 
50
  app.launch()