File size: 4,225 Bytes
65f93ef
 
 
 
 
f468790
e0206ad
65f93ef
 
129713d
65f93ef
31b886e
65f93ef
 
 
 
 
 
f468790
65f93ef
 
 
 
 
 
 
 
 
 
 
 
 
31b886e
65f93ef
 
 
 
 
 
 
 
 
 
31b886e
65f93ef
 
 
 
f6d01e0
65f93ef
 
 
475a44e
4bf156c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f6d01e0
475a44e
 
 
65f93ef
 
f6d01e0
65f93ef
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31b886e
65f93ef
 
f6d01e0
 
65f93ef
129713d
 
65f93ef
 
 
31b886e
f6d01e0
c6f0982
 
 
498514d
8b23756
498514d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
import os
import pandas as pd
import streamlit as st
from io import StringIO

# Persistent file path for the dataset
DATA_FILE_PATH = "consumer_electronics_sales_data.csv"

# Page Title
st.markdown("<h1 style='text-align:center; color:white;'>Electronics Sales Data Set</h1>", unsafe_allow_html=True)

# Function to load the dataset from the disk
def load_dataset():
    if os.path.exists(DATA_FILE_PATH):
        return pd.read_csv(DATA_FILE_PATH)
    else:
        return None

# Load or reload the dataset into session state if not already done
if "dataset" not in st.session_state:
    st.session_state["dataset"] = load_dataset()

# File uploader widget to upload a new dataset
uploaded_file = st.file_uploader("Choose a CSV file", type=["csv"])

if uploaded_file is not None:
    # Read the uploaded CSV file into a pandas DataFrame
    df = pd.read_csv(uploaded_file)

    # Save the dataset permanently to disk
    df.to_csv(DATA_FILE_PATH, index=False)

    # Update session state
    st.session_state["dataset"] = df

    # Display success message
    st.success(f"Dataset uploaded and saved permanently as {DATA_FILE_PATH}!")

# Access the dataset from session state
df = st.session_state.get("dataset")

if df is not None:
    st.subheader("Dataset Preview:")
    st.write(df, use_container_width=True)

    st.subheader("Info of the Dataset:")
    buffer = StringIO()
    df.info(buf=buffer)
    st.text(buffer.getvalue())

    st.subheader("Dataset Shape (Rows, Columns):")
    st.write(df.shape)

    st.markdown('''**Dataset :**

| **Feature**              | **Description**                                                    | **Example**                  |
|-------------------------|--------------------------------------------------------------------|------------------------------|
| **ProductID**            | Unique identifier for each product.                                | 12345                        |
| **ProductCategory**      | Category of the consumer electronics product.                      | Smartphones, Laptops         |
| **ProductBrand**         | Brand of the product.                                              | Apple, Samsung               |
| **ProductPrice**         | Price of the product (in dollars).                                 | 999.99                       |
| **CustomerAge**          | Age of the customer.                                               | 35                           |
| **CustomerGender**       | Gender of the customer (0 - Male, 1 - Female).                     | 1                            |
| **PurchaseFrequency**    | Average number of purchases per year.                              | 3                            |
| **CustomerSatisfaction** | Customer satisfaction rating (1 - 5).                              | 4                            |
| **PurchaseIntent**       | Target variable: Intent to purchase (classification target).       | 0 (No), 1 (Yes)              |
''')

    

else:
    st.info("No dataset found. Please upload a CSV file.")

# Define the URL of the background image (use your own image URL)
background_image_url = "https://cdn-uploads.huggingface.co/production/uploads/67441c51a784a9d15cb12871/xpoN_mbctlrQAgRU06EPt.jpeg"

# Apply custom CSS for the background image and overlay
st.markdown(
    f"""
    <style>
        .stApp {{
            background-image: url("{background_image_url}");
            background-size: cover;
            background-position: center;
            height: 100vh;
        }}
        
        /* Semi-transparent overlay */
        .stApp::before {{
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.4);
            z-index: -1;
        }}
        
        /* Styling the content to ensure text visibility */
        .stMarkdown {{
            color: white;
            font-size: 100px;
        }}
    </style>
    """, 
    unsafe_allow_html=True
)


if st.button("Previous ⏮️"):
    st.switch_page("pages/0_Problem-Statement_and_Aim.py")
if st.button("Next ⏭️"):
    st.switch_page("pages/2_Data_CLeaning_and_Preprocessing.py")