streamlitpr / app.py
khusniania's picture
Update app.py
30abd55
raw
history blame contribute delete
No virus
1.84 kB
import pandas as pd
import streamlit as st
import plotly.express as px
st.set_page_config(page_title='Survey Results')
st.header('Survey Results')
st.subheader('the results of amount data')
# load dataframe
excel_file = 'complete_loan.xlsx'
sheet_name = 'completedloan'
df = pd.read_excel(excel_file,
sheet_name=sheet_name,
usecols='A:L',
header=0)
df_participants = pd.read_excel(excel_file,
sheet_name=sheet_name,
usecols='S:T',
header=0)
st.dataframe(df)
pie_chart = px.pie(df_participants,
title='Total Results',
values= 'participant',
names= 'purpose')
st.plotly_chart(pie_chart)
# streamlit selection
tujuan = df['purpose'].unique().tolist()
years = df['year'].unique().tolist()
year_selection = st.slider('year:',
min_value= min(years),
max_value= max(years),
value=(min(years), max(years)))
purpose_selection = st.multiselect('purpose:',
tujuan,
default=tujuan)
# filter selection
mask = (df['year'].between(*year_selection)) & (df['purpose'].isin(purpose_selection))
number_of_result = df[mask].shape[0]
st.markdown(f'*The results: {number_of_result}*')
# group data frame
df_grouped = df[mask].groupby(by=['purpose']).count()[['year']]
df_grouped = df_grouped.reset_index()
# bar chart
bar_chart = px.bar(df_grouped,
x= 'purpose',
y='year',
text= 'purpose',
color_discrete_sequence= ['black']*len(df_grouped),
template='plotly_white')
st.plotly_chart(bar_chart)