Prasann15479's picture
Update app.py
518cab2 verified
import streamlit as st
import pandas as pd
import plotly.express as px
file_path = 'structured_data.xlsx'
sheets = pd.read_excel(file_path, sheet_name=None)
data = []
for sheet_name, sheet_data in sheets.items():
year = sheet_name.split('_')[0]
sheet_data['Year'] = year
sheet_data['state']=sheet_name.split('_')[1]
data.append(sheet_data)
df = pd.concat(data, ignore_index=True)
graph_type=st.selectbox('Select Graph Type',['Year-Wise','Branch-Wise'])
if graph_type=='Branch-Wise':
st.title('Branch-wise Cutoff Analysis')
branch = st.selectbox('Select Branch Stream', df['Stream'].unique())
state = st.selectbox('Select State', df['state'].unique())
category_delhi=['GNGND', 'EWGND', 'OBGND', 'SCGND', 'STGND',
'GNGLD', 'EWGLD', 'OBGLD', 'SCGLD', 'STGLD', 'GNCWD', 'EWCWD', 'OBCWD',
'SCCWD', 'STCWD', 'GNPDD', 'EWPDD', 'OBPDD', 'SCPDD', 'STPDD', 'KM']
category_outside=['GNGNO', 'EWGNO', 'OBGNO', 'SCGNO', 'STGNO',
'GNGLO', 'EWGLO', 'OBGLO', 'SCGLO', 'STGLO', 'GNCWO', 'EWCWO', 'OBCWO',
'SCCWO', 'STCWO', 'GNPDO', 'EWPDO', 'OBPDO', 'SCPDO', 'STPDO']
if state=='Delhi':
#category = st.selectbox('Select Category',category_delhi)
category = 'GNGND'
else:
#category = st.selectbox('Select Category',category_outside)
category = 'GNGNO'
branch_data = df[df['Stream'] == branch]
branch_data = branch_data[branch_data['state'] == state]
branch_data=branch_data[['Course', 'Year', category,]]
if not branch_data.empty:
fig = px.histogram(branch_data, x='Year', y=category, color='Course',
title=f'Year-wise General Category Cutoff for {branch}',
labels={category: f'{category}Cutoff'})
fig.update_layout(
xaxis_title='Year',
yaxis_title='Cutoff Rank',
yaxis_type='linear',
template='plotly_white'
)
st.plotly_chart(fig)
else:
st.write(f"No data available for the selected branch: {branch}")
st.write("Raw data for the selected branch:")
st.dataframe(branch_data)
else:
st.title('Year-wise Cutoff Analysis')
year = st.selectbox('Select Year', df['Year'].unique())
state = st.selectbox('Select State', df['state'].unique())
category_delhi=['GNGND', 'EWGND', 'OBGND', 'SCGND', 'STGND',
'GNGLD', 'EWGLD', 'OBGLD', 'SCGLD', 'STGLD', 'GNCWD', 'EWCWD', 'OBCWD',
'SCCWD', 'STCWD', 'GNPDD', 'EWPDD', 'OBPDD', 'SCPDD', 'STPDD', 'KM']
category_outside=['GNGNO', 'EWGNO', 'OBGNO', 'SCGNO', 'STGNO',
'GNGLO', 'EWGLO', 'OBGLO', 'SCGLO', 'STGLO', 'GNCWO', 'EWCWO', 'OBCWO',
'SCCWO', 'STCWO', 'GNPDO', 'EWPDO', 'OBPDO', 'SCPDO', 'STPDO']
if state=='Delhi':
#category = st.selectbox('Select Category',category_delhi)
category='GNGND'
else:
#category = st.selectbox('Select Category',category_outside)
category='GNGNO'
year_data = df[df['Year'] == year]
year_data = year_data[year_data['state'] == state]
year_data=year_data[['Course', 'Stream', category,]]
if not year_data.empty:
fig = px.histogram(year_data, x='Course', y=category, color='Stream',
title=f'Branch-wise General Category Cutoff for {year}',
labels={category: f'{category}Cutoff'},
)
fig.update_layout(
xaxis_title='Branch',
yaxis_title='Cutoff Rank',
yaxis_type='linear',
template='plotly_white'
)
st.plotly_chart(fig)
else:
st.write(f"No data available for the selected year: {year}")
st.write("Raw data for the selected year:")
st.dataframe(year_data)