A powerful, user-friendly web application for exploring and analyzing CSV data without writing code. Built with Streamlit and Python, this dashboard transforms raw data into actionable insights through interactive visualizations and statistical analysis.
- Easy File Upload - Handles custom delimiters and encodings for robust CSV support
- Statistical Summary - Automatic calculation of mean, median, standard deviation, and more
- Missing Data Detection - Identify and handle missing values through various imputation methods
- Multiple Visualizations
- Histograms and Density Curves for distribution analysis
- Box plots and Violin plots for outlier detection
- Bar charts and Pie charts for categorical features
- Scatter plots and Line plots for bivariate analysis
- Correlation Analysis - Interactive heatmaps showing relationships between numeric variables
- Outlier Detection - IQR-based method to identify and handle anomalies in your data
- Data Cleaning - Remove missing values, duplicates, and perform advanced text cleaning
- Export Options - Download processed data as CSV or Excel files
- Python 3.8 or higher
- pip package manager
- Clone the repository:
git clone https://github.com/saimtec/Data-Analysis-Dashboard.git
cd Data-Analysis-Dashboard- Install required packages:
pip install -r requirements.txt- Run the application:
streamlit run app.py- Open your browser and navigate to
http://localhost:8501
- streamlit - Web application framework
- pandas - Data manipulation and analysis
- numpy - Numerical computing
- matplotlib - Data visualization
- seaborn - Statistical data visualization
- openpyxl - Excel file support
- Select your delimiter and encoding settings
- Click "Browse files" or drag and drop your CSV file
- The dashboard loads your data into memory
- View summary statistics including count, mean, std, min, max
- Group your data and apply custom aggregations
- Filter data points using numeric or text-based conditions
- Select any numeric or categorical column from the dropdown
- Choose from a wide variety of plotting types
- Dynamically visualize relationships between features
- Interactive heatmap shows relationships between all numeric variables
- Color-coded from negative to positive correlations
- Table dynamically updates to display the strongest top correlations
- Deal with missing data points, duplicates, and outliers
- Text cleaning functions (lowercase, removing special characters)
- Remove unneeded columns permanently or restore to the original dataset
- Download the extensively washed and transformed data down as a pristine CSV or formatted Excel sheet
The repository includes a sample dataset (Heart_Disease_Prediction.csv) with:
- Patient demographics and health metrics
- Missing values for testing data cleaning features
- Multiple numeric and categorical variables
- Perfect for exploring all dashboard capabilities
- Data Scientists - Quick exploratory data analysis before modeling
- Business Analysts - Generate insights from sales, customer, or operational data
- Students - Learn data analysis concepts through interactive visualization
- Researchers - Analyze survey results and experimental data
- Anyone - Explore CSV data without programming knowledge
Data-Analysis-Dashboard/
│
├── app.py # Main Streamlit application
├── requirements.txt # Python dependencies
├── Heart_Disease_Prediction.csv # Sample dataset
├── README.md # Project documentation
└── src/ # Core logic modules
├── __init__.py
├── upload.py # File uploading logic
├── overview.py # Initial data profiling
├── cleaning.py # Missing values & outliers
├── analysis.py # Filtering & grouping
├── visualizations.py # Charting functionality
└── export.py # Downloading data
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Streamlit
- Visualization powered by Matplotlib and Seaborn
- Data handling with Pandas
Have questions or suggestions? Feel free to open an issue or reach out!
Star this repository if you found it helpful!