File size: 1,500 Bytes
07a8b95 e6dec5b 07a8b95 9b5621b 07a8b95 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
import pandas as pd
import numpy as np
import gradio as gr
# Veri setlerinin yüklenmesi
ihtiyac_df = pd.read_excel("ihtiyac_data.xlsx")
fazla_df = pd.read_excel("norm_fazlasi.xlsx")
# Branş ve ilçe bazında toplam ihtiyaç ve norm fazlası sayıları
ihtiyac_branş_ilce = ihtiyac_df.groupby(['branş', 'ilçe'])['ihtiyac'].sum()
fazla_branş_ilce = fazla_df.groupby(['Branşı', 'İlçe Adı'])['Adı'].count()
# Atanma ihtimallerini hesaplayan fonksiyon
def hesapla_atanma_ihtimali(branş, ilçe):
ihtiyac = ihtiyac_branş_ilce.get((branş, ilçe), 0)
norm_fazlasi = fazla_branş_ilce.get((branş, ilçe), 0)
toplam = ihtiyac - norm_fazlasi
if toplam > 0:
atanma_ihtimali = (ihtiyac / toplam) * 100
else:
atanma_ihtimali = 0
return f"{ilçe} ilçesine atanma ihtimaliniz: %{atanma_ihtimali:.2f}"
# Gradio arayüzü oluşturma
with gr.Blocks() as demo:
gr.Markdown("# Öğretmen Atanma İhtimalleri")
gr.Markdown("## Branşınıza ve İlçeye Göre Atanma İhtimalinizi Öğrenin")
branş_input = gr.Dropdown(label="Branşınızı Seçin", choices=ihtiyac_branş_ilce.index.levels[0].tolist())
ilce_input = gr.Dropdown(label="İlçeyi Seçin", choices=ihtiyac_branş_ilce.index.levels[1].tolist())
result = gr.Textbox(label="Atanma İhtimali Sonucu")
calculate_button = gr.Button("Hesapla")
calculate_button.click(fn=hesapla_atanma_ihtimali, inputs=[branş_input, ilce_input], outputs=result)
demo.launch(share=True)
|