Spaces:
Sleeping
Sleeping
import streamlit as st | |
from data_loader import DataLoader | |
from data_analyzer import DataAnalyzer | |
from data_filter import DataFilter | |
from data_transformer import DataTransformer | |
from data_visualizer import DataVisualizer | |
from data_QA import DataQA | |
import os | |
from streamlit_option_menu import option_menu | |
import pandas as pd | |
def main(): | |
st.title('Insights ๐ถ') | |
data = pd.DataFrame() | |
uploaded_file = st.file_uploader("Choose a CSV file", type="csv") | |
if st.button('Load Data'): | |
data_loader = DataLoader() | |
data_loader.load_data(uploaded_file) | |
data = pd.read_csv("data.csv") | |
if os.path.getsize("data.csv") != 0: | |
with st.sidebar: | |
selected = option_menu( | |
menu_title="Main Menu", | |
options=["Data Loader", "Exploratory Data Analysis", "Data Cleaning", "Q/A", "Data Party"]) | |
# --- DATA LOADER --- | |
if selected == "Data Loader": | |
st.toast("Data Loaded") | |
st.write(data.head()) | |
# --- EDA --- | |
if selected == "Exploratory Data Analysis": | |
data = pd.read_csv("data.csv") | |
data_analyzer = DataAnalyzer(data) | |
data_analyzer.show_eda() | |
data_analyzer.show_null_value_statistics() | |
data_analyzer.show_count_plots() | |
data_analyzer.show_summary_statistics() | |
data_visualizer = DataVisualizer(data) | |
data_visualizer.visualize_data() | |
# --- DATA CLEANING --- | |
if selected == "Data Cleaning": | |
data_transformer = DataTransformer(data) | |
modified_data = data_transformer.perform_column_operation() | |
modified_data = data_transformer.remove_null() | |
modified_data = data_transformer.impute_null() | |
data = modified_data | |
data_analyzer = DataAnalyzer(data) | |
data_analyzer.show_null_value_statistics() | |
new_data_analyzer = DataAnalyzer(modified_data) | |
data_analyzer.show_null_value_statistics() | |
# modified_data = data_transformer.remove_columns() | |
# data_filter = DataFilter(modified_data) | |
# data = data_filter.filter_rows() | |
# --- QUESTION AND ANSWER --- | |
if selected == "Q/A": | |
data_QA = DataQA(data) | |
data_QA.ask_csv() | |
# --- DATA PARTY --- | |
if selected == "Data Party": | |
st.write("To be continued... :)") | |
if __name__ == "__main__": | |
main() | |