jaleesahmed's picture
app
1bce424
import gradio as gr
import pandas as pd
from sklearn.preprocessing import LabelEncoder
def data_description(desc_type):
df = pd.read_csv('emp_experience_data.csv')
pd.options.display.max_columns = 25
pd.options.display.max_rows = 10
data_encoded = df.copy(deep=True)
categorical_column = ['Attrition', 'Gender', 'BusinessTravel', 'Education', 'EmployeeExperience', 'EmployeeFeedbackSentiments', 'Designation',
'SalarySatisfaction', 'HealthBenefitsSatisfaction', 'UHGDiscountProgramUsage', 'HealthConscious', 'CareerPathSatisfaction', 'Region']
label_encoding = LabelEncoder()
if desc_type == "Display Data":
return df.head()
if desc_type == "Describe Data":
df_copy = df.copy(deep=True)
data_desc = df_copy.describe()
data_desc.insert(0, "Description", ["count", "mean", "std", "min", "25%", "50%", "75%", "max"], True)
return data_desc
if desc_type == "Display Encoding":
data = [["Feature", "Mapping"]]
for col in categorical_column:
data_encoded[col] = label_encoding.fit_transform(data_encoded[col])
le_name_mapping = dict(zip(label_encoding.classes_, label_encoding.transform(label_encoding.classes_)))
data.append([col, str(le_name_mapping)])
return data
if desc_type == "Display Encoded Data":
for col in categorical_column:
data_encoded[col] = label_encoding.fit_transform(data_encoded[col])
return data_encoded.head()
inputs = [
gr.Dropdown(["Display Data", "Describe Data", "Display Encoding", "Display Encoded Data"], label="Perform Data Actions")
]
outputs = [gr.DataFrame()]
demo = gr.Interface(
fn = data_description,
inputs = inputs,
outputs = outputs,
title="Employee-Experience: Data Description",
allow_flagging=False
)
if __name__ == "__main__":
demo.launch()