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") |