The Data Explorer Web App is a Python containerised web application, built employing the Streamlit framework. This application allows the user to upload a CSV file to subsequently run a variety of calculations and methods on the inputted data set. The returned tables and visuals are ready to be analysed, aiming to help the user to easily perform an Exploratory Data Analysis (EDA) and get a deeper understanding of the uploaded data.
To perform the installation process, you need to have git and docker installed on your computer and follow the next steps:
-
Clone the repo
git clone https://github.com/AnaMJaimeR/data_explorer_webapp.git
-
cd into the project root folder
cd data_explorer_webapp
-
Build the Streamlit image
docker build -t streamlit:latest .
-
Create docker container and run
docker run --rm -it -p 8501:8501 streamlit:latest
After running the container, go to http://localhost:8501/ to use the app.
- Upload a comma-separated values (CSV) file using the widget and explore the Overall section.
- Choose the number of rows that you want to display in the slider.
- Choose which columns need to be converted to DateTime type in the multiselect widget.
-
Overall: The Overall section provides the user with general information on the dataset such as the total number of columns and rows, duplicates and missing values. Equally important, it grants the user the possibility to specify which columns should be converted to DateTime type.
-
Numeric: The Numeric section gives details on several statistics for each of the numeric columns, as well as an histogram.
-
Text: The Text section gives details on the number of missing and unique values corresponding for each text column. Additionally, it specifies the number of rows with empty, only-uppercase and only-lowercase values, finalising with a bar chart of the frequencies.
-
Date: The Date section give additional details about the DateTime columns, like the number of week and weekend days for each. Additionally, it displays a bar chart with the frequency of each date.
A series of tests were created to ensure app robustness. To run the tests follow the next steps:
-
If the Streamlit image has not been created
docker build -t streamlit:latest .
-
Run the tests
docker run --rm -it streamlit:latest bash -c 'python -m unittest'