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)