Spaces:
Sleeping
Sleeping
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) |