Spaces:
Runtime error
Runtime error
| import json | |
| import streamlit as st | |
| from streamlit_lottie import st_lottie | |
| from PIL import Image | |
| #import pandas as pd | |
| def app(): | |
| #st.set_page_config(page_title="Visualizations and Results", page_icon=":flag_ghana:", layout="wide") | |
| # ---- LOAD ASSETS ---- | |
| img_job_cat_jobs = Image.open("./visualizations/5.jpg") | |
| img_job_cat_app = Image.open("./visualizations/6.jpg") | |
| img_seniority_level_jobs = Image.open("./visualizations/9.jpg") | |
| img_experience_level_jobs = Image.open("./visualizations/8.jpg") | |
| img_education_level_jobs = Image.open("./visualizations/7.jpg") | |
| img_skills_match_level = Image.open("./visualizations/10.jpg") | |
| img_skills_academy_comparison = Image.open("./visualizations/11_str.png") | |
| img_skills_academy_industry_comparison = Image.open("./visualizations/12_str.png") | |
| lottie_animation = ("visualizations/lottie_animation.json") | |
| # Use local CSS | |
| def local_css(file_name): | |
| with open(file_name) as f: | |
| st.markdown(f"<style>{f.read()}</style>", unsafe_allow_html=True) | |
| local_css("style/style.css") | |
| # ---- HEADER SECTION ---- | |
| with st.container(): | |
| st.subheader("Visualizations and Results") | |
| text_col, lottie_col = st.columns(([0.6, 0.4]), gap="large") | |
| with text_col: | |
| st.write( | |
| """ | |
| By leveraging the power of natural language processing techniques, | |
| we have gained invaluable insights into the factors contributing to the growing gap | |
| between job demands and the skills available in today's Ghanaian labor market. | |
| Through this section, we aim to highlight the key discoveries, trends, and patterns | |
| uncovered during our analysis, shedding light on the complex dynamics | |
| of this issue and offering potential avenues for bridging the divide. | |
| """ | |
| ) | |
| with lottie_col: | |
| with open(lottie_animation,"r") as file: | |
| url = json.load(file) | |
| st_lottie(url, | |
| reverse=True, | |
| height=200, | |
| width=200, | |
| speed=1, | |
| loop=True, | |
| quality='high', | |
| key='Results' | |
| ) | |
| tab1, tab2 = st.tabs(["EDA", "Gap-img"]) | |
| # ---- TAB 1 ---- | |
| with tab1: | |
| st.header("Jobs and Job Applicants") | |
| with st.container(): | |
| st.write("---") | |
| st.subheader("Available Jobs Categories") | |
| st.write("##") | |
| app_column, jobs_column = st.columns(2) | |
| with app_column: | |
| st.image(img_job_cat_app) | |
| expander = st.expander("See explanation") | |
| expander.write('''The diagram above illustrates the distribution of job applicants by job category. | |
| The demand for jobs is highest in the IT, Finance, and Health categories, which are | |
| similarly the categories with the most job seekers. Other job categories with available | |
| positions include Tourism and Hospitality, Management and Secretarial Services, and | |
| Logistics and Transport.''') | |
| with jobs_column: | |
| st.image(img_job_cat_jobs) | |
| expander = st.expander("See explanation") | |
| expander.write('''The diagram above displays the distribution of available jobs across different categories. | |
| The majority of available jobs fall under the following categories: Engineering, Finance, IT, Management, | |
| and Health. Other categories are not as well represented on online job portals.''') | |
| with st.container(): | |
| st.write("---") | |
| st.subheader("Experience and Seniority Levels") | |
| st.write("##") | |
| app_column, jobs_column = st.columns(2) | |
| with app_column: | |
| st.image(img_seniority_level_jobs) | |
| expander = st.expander("See explanation") | |
| expander.write('''The above chart depicts the distribution of available jobs’ | |
| seniority levels. As expected, most of the jobs are entry-level jobs. | |
| Mid-Senior and Senior level positions represent the second and third biggest categories. | |
| The internships compose less than two per cent of jobs, making it harder for penultimate | |
| students to gain the necessary experience and enter the job market.''') | |
| with jobs_column: | |
| st.image(img_experience_level_jobs) | |
| expander = st.expander("See explanation") | |
| expander.write('''The diagram above illustrates the experience level (in years) | |
| employers typically require for available positions. | |
| The majority of jobs (a significant percentage) require 2 to 5 years of experience, | |
| while an additional third of positions demand 5 to 10 years of experience. | |
| Some employers mandate more than 10 years of experience for specific roles. | |
| A mere 3 percent of available jobs are open to employees with less than 2 years of experience. | |
| This leaves new graduates with limited job opportunities and forces them to expend additional | |
| effort to secure their first job.''') | |
| with st.container(): | |
| st.write("---") | |
| st.subheader("Education level of job seekers and employers") | |
| st.write("##") | |
| st.image(img_education_level_jobs) | |
| expander = st.expander("See explanation") | |
| expander.write('''The graph above displays a comparison between the level of education that job | |
| providers require and the level of education held by job seekers. The number of job seekers with | |
| Bachelor's degrees is twice the number of employers requiring this level of education. This trend | |
| is also evident for job seekers with Master's degrees and Doctorates. Employers rarely require | |
| college diplomas, but approximately a quarter of job seekers mention holding them on their resumes. | |
| High school certificates and Technical and Vocational diplomas are not required by employers, | |
| but job seekers tend to list them on their resumes.''') | |
| with tab2: | |
| st.header("Gap Analysis") | |
| st.write("##") | |
| with st.container(): | |
| st.write('''The following charts depict the skills gap between the top five | |
| universities in Ghana and the industry. As a case study, we selected Computer Science programs | |
| at each university. We then compared the taught skills to the top 1000 skills required in | |
| the IT jobs market.''') | |
| st.write("---") | |
| st.subheader("Skills match level of the top five universities in Ghana to IT industry requirements") | |
| st.write("##") | |
| st.image(img_skills_match_level) | |
| expander = st.expander("See explanation") | |
| expander.write('''Based on the chart provided, it appears that the educational curriculums | |
| being taught are not meeting the needs of the job market. Even the most closely aligned program | |
| from the University of Mines and Technology is lacking in nearly 50% of the necessary skills. | |
| The Bachelor of Science program in Computer Science from KNUST university has the least amount of | |
| required skills covered, with less than 10% matching up.''') | |
| with st.container(): | |
| st.write("---") | |
| st.subheader("Skills comparison between the top five universities in Ghana for IT programs") | |
| st.write("##") | |
| st.image(img_skills_academy_comparison) | |
| expander = st.expander("See explanation") | |
| expander.write('''The visualization above illustrates the comparison of the 25 most commonly | |
| taught skills among various universities. The University of Mines and Technology has the most | |
| comprehensive curriculum, followed by the University of Ghana. As demonstrated in the previous graph, | |
| KNUST University has the least favourable outcomes regarding available skills. While subjects | |
| such as Math, Operating Systems, and Software Engineering are included in every curriculum, | |
| not all universities offer courses in Embedded Systems, Robotics, Artificial Intelligence, | |
| and Networking. Therefore, students who are interested in these areas of study should carefully | |
| plan their enrollment accordingly.''') | |
| st.write("---") | |
| st.subheader("Skills gap between the top five universities in Ghana and IT jobs market") | |
| st.write("##") | |
| st.image(img_skills_academy_industry_comparison) | |
| expander = st.expander("See explanation") | |
| expander.write('''The chart above displays the discrepancy between the skills taught in university | |
| curriculums and those required by the IT job market. The analysis focuses on the top 20 skills in | |
| demand. Among these skills, Operating Systems is the only one taught in all five universities, with | |
| Computer Science and Software Engineering following closely behind. Project Management ranks as the | |
| second most sought-after skill in the IT industry, but only the Ghana Institute of Management offers | |
| it as a course for Computer Science students. Additionally, risk management, a crucial component of | |
| project management, is not currently included in any Ghanaian university curriculum, which differs | |
| from the standards in the United States, where most CS programs cover these topics. Web development | |
| skills, including HTML and CSS, are also highly valued in the job market but are rarely included in | |
| university programs, if at all.''') | |
| ''' | |
| with tab3: | |
| st.header("Gap - interactive") | |
| st.write("##") | |
| #read data | |
| uni_skills = pd.read_csv("data/univercities_skills_comparison.csv") | |
| uni_ind_skills = pd.read_csv("data/univercities_industry_skills_comparison.csv") | |
| with st.container(): | |
| ''' | |