Python Projectr
Python Projectr
on
Submitted in partial fulfillment of the requirements for the award of the degree of
BACHELOR OF TECHNOLOGY
in
COMPUTER SCIENCE AND ENGINEERING
Submitted By:
ANIRUDH SINGH CHAUHAN(24BCON2491)
PORAS VERMA(24BCON2500)
ARUN KUMAR VERMA(24BCON2469)
Session: 2025–26
DECLARATION
I, ANIRUDH SINGH CHAUHAN certify that my minor project work embodied in this
Report entitled “DATA VISUALISATION DASHBOARD” is my own Bonafide work
carried out by me under the supervision of Mr. Ratish Kumar (Guide) as Department of
Computer Science & Engineering the JECRC University, Jaipur. The work is original
and has not been submitted earlier as a whole or in part for the award of any
degree/diploma at this or any other Institution / university in India or abroad.
Date:
Place: Jaipur
Signature of Student
Counter
Signature
Guide
CERTIFICATE
This is to certify that the Minor Project titled “DATA VISUALISATION
DASHBOARD” has been successfully completed by: Student Name(s) ANIRUDH
SINGH CHAUHAN, Reg. No. 24BCON2491, PORAS VERMA, Reg No.
24BCON2500, ARUN KUMAR VERMA, Reg No. 24BCON2469 under my supervision
during IV Semester of [Link]. (CSE), JECRC University, Jaipur.
(HOD Signature)
Head, Department of CSE
(Dean Signature)
Dean, School of Engineering
ACKNOWLEDGEMENT
I would like to express my deep sense of gratitude to our project guide, Mr. Ratish Kumar
, Department of Computer Science and Engineering, for his invaluable guidance, constant
encouragement, and immense support throughout the development of our minor project,
“Data Cleaning & Visualization App”. His insightful feedback and technical expertise
were instrumental in helping us successfully implement the data cleaning pipelines and
visualization dashboards.
I also extend my heartfelt thanks to my team members, Poras Verma and Arun Kumar
Verma, for their exceptional collaboration, dedication, and shared efforts in designing
and developing this application. Lastly, we thank our peers and families for their
continuous moral support and encouragement during this journey.
Raw, unprocessed datasets frequently contain missing values, mixed date formats,
inconsistent string capitalization, and whitespace anomalies that significantly distort
downstream statistical analysis. To address this issue, this project presents an automated
data cleaning and comprehensive visualization application designed to streamline
exploratory data analysis. Developed using Python, Streamlit, Pandas, Matplotlib,
Seaborn, and Plotly Express, the system features an intelligent auto-cleaning pipeline
that executes date standardization, adaptive missing value imputation based on data
types, row purging for low-density missing segments, and text case normalization.
Furthermore, the application features dynamic side-by-side dashboard comparisons, an
automated statistical correlation engine that extracts and displays strong relational data
pairs through heatmaps, and adaptive distribution analysis that intelligently switches
between pie charts and bar graphs based on categorical cardinality. The final outcome is
an intuitive, web-based platform that successfully eliminates manual preprocessing tasks,
minimizes human error, and accelerates actionable insight generation by allowing users
to clean, analyze, and instantly download standardized datasets.
Appendix B: Screenshots
Figure 3.2: Flow Chart of the essential function of IBP to reduce noise and blur.
Table 7.2: Image parameters after applying Iterative Back Projection (IBP)
Algorithm on enlarged images
Table 7.3: Image parameters of composite images and final high-resolution image
Table 7.4 Comparison of parameters of the image shown in Figure 7.4 with MIEBF
and KBIE methodologies and proposed methodology
CHAPTER 1: INTRODUCTION
1.1 Background of Study
In the modern data-driven era, organizations, researchers, and developers rely heavily on
data analysis to derive actionable insights and drive strategic decision-making. However,
raw data collected from real-world sources is rarely clean or immediately usable. It
frequently arrives corrupted with missing entries, improperly formatted values, duplicate
records, and structural anomalies. Data preprocessing and exploratory data analysis
(EDA) have therefore become fundamental stages in any data science workflow.
Historically, cleaning datasets required writing custom, repetitive scripts using libraries
like Pandas, which demands strong programming expertise and significant development
time. Furthermore, non-technical stakeholders often find it challenging to interpret raw
text or tabular outputs without immediate visual aids. This study focuses on bridging the
gap between complex data preprocessing algorithms and user-friendly software
interfaces. By utilizing Streamlit, a powerful Python framework for building interactive
web applications, this project establishes a centralized dashboard that automates data
purification pipelines and provides instantaneous, dynamic visualizations, making data-
driven workflows efficient and accessible to technical and non-technical users alike.
Data analysts and engineers spend an estimated 60% to 80% of their time manually
cleaning and preparing data before any meaningful analysis can begin. The primary
challenges in handling raw datasets include:
Data Quality Issues: Datasets often contain missing fields, mixed data types, trailing
whitespaces, and inconsistent text casing (e.g., mixing "New York" and "NEW YORK")
that ruin statistical accuracy.
Inefficient Processing: Manually identifying missing values and deciding whether to drop
rows or impute statistical metrics (like the mean or mode) introduces human bias and
delays project timelines.
The primary objective of this project is to design, develop, and deploy an interactive,
automated web-based Data Cleaning and Visualization Application to simplify
exploratory data analysis. The specific sub-objectives include:
The scope of this project encompasses the design and realization of a lightweight,
browser-accessible data analytics platform. The application is built using Python and
the Streamlit framework, leveraging Pandas for backend data manipulation,
alongside Matplotlib, Seaborn, and Plotly Express for rendering interactive frontend
graphical elements.
Out of Scope: This application does not connect directly to live relational database
management systems (RDBMS) or cloud data warehouses via API connections. It
does not perform predictive modeling, advanced machine learning feature
engineering, or multi-dimensional data transformations. The tool acts strictly as a
local or web-hosted rapid-preprocessing and exploratory visualization dashboard.
CHAPTER 2: LITERATURE REVIEW /
ANALYSIS
2.1 Related Work
The landscape of data preprocessing and exploratory data analysis (EDA) has evolved
significantly from writing highly manual script configurations to utilizing automated,
interactive software frameworks. Understanding how existing platforms handle these
challenges highlights the necessity of a web-based, rapid-cleaning engine.
Heavyweight Business Intelligence (BI) Tools (Tableau and Power BI): Industry-
standard platforms like Microsoft Power BI and Tableau include data preparation
modules (e.g., Power Query) that allow users to clean data through a graphical user
interface. While highly robust, these systems are fundamentally designed as enterprise-
scale BI suites rather than agile data-cleaning utilities. They require expensive corporate
licensing, demand dedicated training to master, and have resource-heavy installation
footprints. Additionally, their primary objective is long-term corporate reporting rather
than providing a quick, lightweight platform where a user can simply upload a dirty CSV
file, clean it instantly, and download it.
To establish a clear technical justification for developing the Data Cleaning &
Visualization App, a comparative analysis was conducted evaluating the proposed
application against existing market alternatives.
Very Low
Learning High (Requires Moderate to High
Moderate (Intuitive Web
Curve Code Mastery) (Requires Training)
GUI)
Manual Instant,
Statistical High (But Requires None Natively
(Requires Code Automatic
Visuals Configuration) Integrated
Setup) Dashboards
Data Export Scripted Save Complex Database Exporting Local Instant 1-Click
Open-Source Proposed App
Evaluation Traditional Enterprise BI
Cleaning (Streamlit
Parameters Scripts (Pandas) (Power BI/Tableau)
(OpenRefine) Dashboard)
Expensive Free,
Free / Open- Free / Open-
Cost Model Enterprise Lightweight &
Source Source
Licensing Open-Source
By evaluating these systems, it is evident that a distinct gap exists for an application that
merges the automated, structural data manipulation power of Pandas with the rapid,
browser-based deployment capabilities of Streamlit. The proposed application addresses
this gap by eliminating manual code scripting while avoiding the bloat and licensing
barriers of enterprise software.
Before proceeding with the full implementation phases of the system architecture, a
comprehensive feasibility study was carried out across three core engineering vectors to
ensure project viability
Technical Feasibility
The technical branch of this study examines the availability of software frameworks,
programming paradigms, and computing hardware required to successfully deploy the
system. The development environment leverages Python, a robust, highly stable language
with a mature data ecosystem. The backend processing relies on Pandas, which provides
exceptionally fast in-memory data manipulation arrays capable of cleaning thousands of
rows in milliseconds. The frontend relies on Streamlit, which eliminates the need for
complex, multi-layered HTML/CSS/JavaScript stacks by allowing interactive user
interfaces to be compiled natively in Python. Data visualizations are rendered via highly
optimized statistical libraries including Matplotlib, Seaborn, and Plotly Express. Because
these libraries are open-source and run efficiently on standard consumer computer
hardware without requiring specialized graphical processing units (GPUs) or massive
cloud server instances, the project is entirely technically feasible.
Economic Feasibility
The economic feasibility analysis assesses the financial implications, licensing
constraints, and total cost of development compared to the project's utility. This
application is built entirely upon open-source software and open-source libraries. There
are zero software acquisition costs, zero database licensing fees, and zero expensive
developer subscription requirements. The development tools utilized—including Visual
Studio Code, Python, Git, and Streamlit—are globally accessible without charge.
Hardware costs are completely minimized since the development, testing, and execution
phases are conducted entirely on existing university or personal computational setups.
Consequently, the development cost of this application is effectively zero, making the
project highly economically feasible.
Operational Feasibility
Operational feasibility evaluates how effectively the system can be integrated into real-
world user workflows and whether it satisfies the core requirements of its intended end-
users. The application features a streamlined user interface that demands absolutely no
technical training or prior programming knowledge. Users simply navigate a clean
sidebar menu, upload a messy dataset using a standard drag-and-drop file uploader, and
watch as automated algorithms handle formatting and missing values instantaneously.
The application displays instant "Raw Data" vs. "Cleaned Data" preview shapes so users
can verify the operations in real-time. Because it directly resolves the critical time-sink of
manual data preparation without introducing technical friction, the application achieves a
very high level of operational feasibility.
CHAPTER 3: SYSTEM DESIGN
3.1 System Architecture
The architecture of the Data Cleaning & Visualization Application follows a highly
modular, decoupled multi-layered structure tailored for rapid processing and interactive
browser delivery. Since the system is fully compiled using the Streamlit framework, it
combines the backend computational layers and frontend presentation modules into a
seamless reactive execution engine.
User Interface Layer: The outermost entry point where users interact with standard
browser file-upload UI targets supporting .csv and .xlsx multi-part streams.
Controller & State Routing Layer: Manages internal tracking using persistent local
storage references (st.session_state). This passes identical raw and cleaned structural
configurations globally between distinct analytical dashboards without triggering broken,
duplicated read procedures.
Core Computational Processing Engine: This engine is split into two distinct sub-
systems. The Data Cleaning Engine applies operational rules such as row-purging
boundaries under 5% missing rates, and data-type specific statistical imputation. The
Statistical Engine dynamically filters out unrelated text configurations, converts data
types into analytical vectors, and measures relationship scores.
Activity Diagram
The Activity Diagram documents the sequential control flow and internal execution logic
triggered automatically from the moment a file stream is captured by the web client.
Sequence Diagram
The Sequence Diagram charts the interaction and communication timelines across the
fundamental object lifecycles during runtime operations.
The Data Flow Diagram establishes the technical data tracking paths, highlighting
transformation steps and data processing boundaries without structural timing constraints.
3.4 ER Diagram
Because this dashboard application performs rapid processing directly in-memory using
file streams rather than running a traditional persistent database server, the Entity-
Relationship structure models the data entities handled in-memory within the system
cache.
3.5 Database Design
Unique identifier
Auto-UUID Non-Null,
File_ID Primary Key assigned to each file
Vector Unique
stream.
source file.
Unique system
Auto-UUID Non-Null,
Metric_ID Primary Key mapping index for
Vector Unique
field profiles.
The technical
Variable String / Int /
Data_Type Feature Flag operational data type
String Float / Date
tag.
The deployment of the Data Cleaning & Visualization Application is achieved entirely
through open-source software tools and robust Python engineering frameworks. The core
stack includes:
Python Programming Language: Serves as the base compilation foundation for the entire
software engineering lifecycle due to its native stability, extensive documentation, and
powerful scientific processing ecosystem.
Streamlit Framework: Used to implement the reactive user interface directly in Python. It
completely abstracts away complex HTML, CSS, and asynchronous JavaScript DOM
manipulation, serving multi-page user dashboards over local browser sockets
instantaneously.
Pandas Library: The backend analytical engine used to ingest, structure, and manipulate
structural array formats. It provides robust vector computing structures like DataFrames
to handle millions of data points rapidly.
NumPy: Leveraged under the hood for highly optimized matrix mathematics, particularly
when parsing blank values or computing array dimension shapes during data ingestion.
Hardware
Storage Allotment: 500 MB of free hard drive space for local library installation
runtimes.
Software
The system codebase is broken down into four distinct structural pages and application
logic nodes:
1. Introduction & Routing Module ([Link]): The primary landing target of the
application dashboard. It initializes global application state variables
(st.session_state), displays user instructions, and handles persistent global
references to the raw and cleaned tables across pages without data loss.
The internal automation loop maps out the following logical engineering algorithms
whenever a messy dataset stream is captured by the processing layout:
1. Ingestion & Pre-Pruning Rules
The system parses the file string extension. If it ends with .csv, it copies data arrays via
pd.read_csv(); otherwise, it uses pd.read_excel(). The cleaning loop automatically
calculates missing percentage trends using:
If any column exhibits a missing cell rate strictly greater than 0% but less than 5%, the
system executes an automated row purge command via .dropna(subset=[column_name])
to eliminate sparse data bias without distorting global sample shapes.
For columns with missing cell ratios exceeding the 5% threshold, the module runs type-
specific imputation routines via a step-by-step matrix parsing algorithm:
data_type_tag = str(column_vector.dtype)
if column_vector.isnull().any() == True:
if "object" in data_type_tag:
column_mean_value = column_vector.mean()
dataframe =
[Link](subset=[column_vector.name]).reset_index(drop=True)
To isolate strong relationships, the system processes numeric data rows through the
Pearson product-moment correlation formula to generate the relational heatmap grid:
The statistical engine filters the resulting array matrix, dropping identity metrics where $r
= 1.0$, and automatically maps variables where $|r| \ge 0.5$ onto linear regression charts
to display active trends directly to the user.
CHAPTER 5: TESTING & RESULTS
The main objective of the testing phase is to verify that all automated data preparation
loops, statistical validation algorithms, and graphical presentation layouts perform
reliably under varying user inputs. The test plan follows a structured, modular
approach:
Integration Testing: Assesses the interactive data stream paths running across the
system pages. It ensures that when a dataset is cleaned on the primary page, the
transformed data matrices successfully save into the persistent cache framework
(st.session_state) and load perfectly inside the correlation and distribution
dashboards.
System Testing: Validates the entire software build from end-to-end based on user
operational constraints. Testing focuses on verifying file upload speeds, checking
error handling blocks when completely corrupt files are processed, and confirming
that the final downloadable CSV matches data format expectations.
properties and
clean .csv
Ingestion render the "Raw frame structure
01 or .xlsx data
Engine Data" matrix on the flawlessly.
stream.
UI.
Block the
Upload an Blocked
processing loop
TC- Extension invalid format execution and
and display a PASS
02 Validation file issued a file
standard UI
(e.g., .txt, .pdf). constraint alert.
warning prompt.
Column
Drop only the Successfully
containing
TC- Auto-Purge affected empty data dropped sparse
sparse null rows PASS
03 Loop rows and reset row rows from
(missing rate <
tracking indexes. memory.
5%).
Automatically
Missing numeric Missing
calculate the
TC- Statistical column rows numerical
column mean PASS
04 Imputer (missing rate $\ entries replaced
average and fill
ge$ 5%). by mean value.
empty cells.
Generate
Numeric data Seaborn
matrix with a heatmap grid
TC- Correlation
strong r \ge 0.5$). and display
06 Engine
relationship linear
score ($ regression
curve.
Compile in-
Triggering the Downloaded
memory data arrays
TC- Data Export "Download file matches
into a PASS
08 Mechanism Cleaned CSV" standard CSV
downloadable,
UI button. schema.
clean CSV file.
Processing Execution Speeds: Because data cleaning loops run entirely in-memory using
highly optimized vector operations, processing time scales linearly. Standard test datasets
under 50 MB (approx. 100,000 rows) clean within 0.8 seconds. Files ranging between 50
MB to 200 MB complete preprocessing execution in under 3.4 seconds, confirming
excellent processing speeds.
Memory Management and Stability: The system runtime footprint stays extremely low,
hovering at roughly 65 MB of RAM during idle states. While processing massive data
sets, memory usage spikes up to 4 times the base byte size of the uploaded file due to
tracking distinct states for raw data frames, cleaned data arrays, and statistical rendering
objects simultaneously.
Graphical Presentation Responsiveness: Static Matplotlib and Seaborn plots load near-
instantaneously because they are flattened into images on the server side before
rendering. The interactive Plotly Express distribution modules require slight browser
client execution processing, but stay highly responsive as long as high-cardinality data
rows (columns with more than 100 unique text entries) are filtered out via system
thresholds.
CHAPTER 6: CONCLUSION & FUTURE WORK
Summary of project
The Data Cleaning & Visualization Application was successfully designed, developed,
and deployed as an interactive, web-based software dashboard to simplify exploratory
data analysis (EDA). Developed using Python and the Streamlit framework, the
application addresses a critical bottleneck in data science workflows: the exhausting,
manual, and error-prone process of data cleaning. By integrating a backend powered by
Pandas and NumPy with an interactive frontend driven by Seaborn, Matplotlib, and
Plotly Express, the system provides a unified interface where users can upload messy
CSV or Excel files, automatically purify them, explore structural attributes, and instantly
download a standardized dataset. The project demonstrates how complex, algorithmic
data-manipulation pipelines can be completely abstracted behind an intuitive, zero-
footprint web graphical user interface (GUI), successfully making data preprocessing
accessible to both technical developers and non-technical business stakeholders.
Achievements
The development of this application yielded several notable technical and operational
milestones:
Limitations
While the application achieves its core processing objectives, certain boundaries restrict
its performance in production environments:
Dataset Scale Constraints: The application processes data entirely within web-
server memory allocations. Ingesting massive datasets (e.g., files exceeding
several gigabytes) will cause browser slowdowns or system crashes.
Future Scope
To evolve the system into a more robust, enterprise-grade data analytics utility, several
future enhancements can be introduced:
[4] C. Sievert, Interactive Web-Based Data Visualization with R, plotly, and shiny. Boca
Raton, FL, USA: CRC Press, 2020.
[5] Streamlit Documentation, "Streamlit API Reference Guide: Session State and
Caching Architectures," 2024. [Online]. Available: [Link] [Accessed:
May 15, 2026].
[6] T. Dasu and T. Johnson, Exploratory Data Mining and Data Cleaning. Hoboken, NJ,
USA: John Wiley & Sons, Inc., 2003.
[7] J. M. Hellerstein, "Quantitative Data Cleaning for Large Databases," Guided Syllabus,
UC Berkeley Computer Science Division, Tech. Rep., 2008.
[8] H. Wickham, "Tidy Data," Journal of Statistical Software, vol. 59, no. 10, pp. 1–23,
2014.
[9] S. van der Walt, S. C. Colbert, and G. Varoquaux, "The NumPy Array: A Structure
for Efficient Numerical Computation," Computing in Science & Engineering, vol. 13, no.
2, pp. 22–30, 2011.
[10] J. Han, M. Kamber, and J. Pei, Data Mining: Concepts and Techniques, 3rd ed.
Waltham, MA, USA: Morgan Kaufmann Publishers, 2012.