Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -16,37 +16,43 @@ with open('dop_table.json', 'r') as json_file:
|
|
16 |
data_dop = json.load(json_file)
|
17 |
df2= pd.DataFrame(data_dop)
|
18 |
|
|
|
|
|
|
|
|
|
19 |
dohod = 0
|
20 |
i = 0
|
21 |
|
22 |
with st.sidebar:
|
23 |
sphere = st.selectbox(
|
24 |
-
"
|
25 |
st.write("Выбрано:", sphere)
|
26 |
|
27 |
job = st.selectbox(
|
28 |
-
"
|
29 |
st.write("Выбрано:", job)
|
30 |
|
31 |
# st.write(df.columns)
|
32 |
|
33 |
-
|
34 |
-
"Введите
|
35 |
min_value=0, # Минимальное значение
|
36 |
step=1, # Шаг единицы
|
37 |
-
format='%d'
|
38 |
-
# max_value=(df1['ЗП в вакансии'].max() - 50000)
|
39 |
# ("IT", "Продажи")
|
40 |
)
|
41 |
-
st.write("Выбрано:", dohod)
|
42 |
|
43 |
-
|
44 |
-
"Введите
|
45 |
min_value=0, # Минимальное значение
|
46 |
step=1, # Шаг единицы
|
47 |
-
format='%d' # Формат для целых чисел
|
|
|
48 |
# ("IT", "Продажи")
|
49 |
)
|
|
|
|
|
|
|
50 |
st.write("Введено:", age)
|
51 |
|
52 |
# df2 = df[df['ЗП в вакансии'] >= dohod]
|
@@ -67,38 +73,44 @@ with st.sidebar:
|
|
67 |
st.write("Выбрано:", gotov_uchitsia)
|
68 |
st.header('Выберите навыки, которые у Вас есть')
|
69 |
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
i
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
|
103 |
|
104 |
def table(sphere: str, list_with_skills: list, dohod, sphere_change, gotov_uchitsia):
|
@@ -138,8 +150,9 @@ def table(sphere: str, list_with_skills: list, dohod, sphere_change, gotov_uchit
|
|
138 |
df_fin = table(sphere, list_skills, dohod, sphere_change, gotov_uchitsia)
|
139 |
|
140 |
st.header('Рост Вашего дохода')
|
141 |
-
|
142 |
-
|
|
|
143 |
fig, ax = plt.subplots()
|
144 |
|
145 |
# fig.set_size_inches(10, 5)
|
@@ -153,6 +166,7 @@ ax.bar(labels, values)
|
|
153 |
fig, ax = plt.subplots(figsize=(10, 5)) # Размер графика 30 на 30 дюймов
|
154 |
ax.plot(labels, values, marker='o', linewidth=2) # Линейный график с маркерами
|
155 |
ax.set_ylabel('Сумма, руб')
|
|
|
156 |
ax.set_title('Сравнение доходов')
|
157 |
ax.grid(True) # Добавление сетки
|
158 |
|
@@ -162,7 +176,7 @@ st.pyplot(fig)
|
|
162 |
if gotov_uchitsia == "Нет":
|
163 |
count_course = 0
|
164 |
else:
|
165 |
-
count_course =
|
166 |
|
167 |
if sphere_change == "Да":
|
168 |
mask_sphere = df_fin['Сфера'] != 0
|
@@ -178,3 +192,4 @@ df_fin_sort = df_fin.sort_values(by=['ЗП в вакансии'], ascending=[Fal
|
|
178 |
|
179 |
st.header('Вакансии, которые вам будут интересны')
|
180 |
st.dataframe(df_fin_sort, width=1100, height=500)
|
|
|
|
16 |
data_dop = json.load(json_file)
|
17 |
df2= pd.DataFrame(data_dop)
|
18 |
|
19 |
+
|
20 |
+
df1['Навыки'] = [i.lower().replace('.', '').replace('-', '') for i in df1['Навыки']]
|
21 |
+
df2['Навыки'] = [i.lower().replace('.', '').replace('-', '') for i in df2['Навыки']]
|
22 |
+
|
23 |
dohod = 0
|
24 |
i = 0
|
25 |
|
26 |
with st.sidebar:
|
27 |
sphere = st.selectbox(
|
28 |
+
"Выбери сферу:", options = list(df1['Сфера'].unique()), key=1)
|
29 |
st.write("Выбрано:", sphere)
|
30 |
|
31 |
job = st.selectbox(
|
32 |
+
"Выбери сферу:", options=list(df1['Профессия'].unique()), key=2)
|
33 |
st.write("Выбрано:", job)
|
34 |
|
35 |
# st.write(df.columns)
|
36 |
|
37 |
+
age = st.number_input(
|
38 |
+
"Введите возраст",
|
39 |
min_value=0, # Минимальное значение
|
40 |
step=1, # Шаг единицы
|
41 |
+
format='%d' # Формат для целых чисел
|
|
|
42 |
# ("IT", "Продажи")
|
43 |
)
|
|
|
44 |
|
45 |
+
dohod = st.number_input(
|
46 |
+
"Введите уровень дохода",
|
47 |
min_value=0, # Минимальное значение
|
48 |
step=1, # Шаг единицы
|
49 |
+
format='%d', # Формат для целых чисел
|
50 |
+
# max_value=(df1['ЗП в вакансии'].max() - 50000)
|
51 |
# ("IT", "Продажи")
|
52 |
)
|
53 |
+
st.write("Выбрано:", dohod)
|
54 |
+
|
55 |
+
|
56 |
st.write("Введено:", age)
|
57 |
|
58 |
# df2 = df[df['ЗП в вакансии'] >= dohod]
|
|
|
73 |
st.write("Выбрано:", gotov_uchitsia)
|
74 |
st.header('Выберите навыки, которые у Вас есть')
|
75 |
|
76 |
+
list_skills = []
|
77 |
+
for i in sorted(set(df1['Навыки'])):
|
78 |
+
skill = st.checkbox(i, key=f"{i}")
|
79 |
+
if skill:
|
80 |
+
list_skills.append(i)
|
81 |
+
|
82 |
+
# python = st.checkbox("Python", key=f"{i+1}mlr")
|
83 |
+
# sql = st.checkbox("SQL", key=f"{i+1}mlrq")
|
84 |
+
# html = st.checkbox("HTML", key=f"{i+1}mlrw")
|
85 |
+
# java = st.checkbox("Java", key=f"{i+1}mlre")
|
86 |
+
# figma = st.checkbox("Figma", key=f"{i+1}mlrr")
|
87 |
+
# power_bi = st.checkbox("Power BI", key=f"{i+1}mlrt")
|
88 |
+
# prodaji = st.checkbox("Продажи", key=f"{i+1}mlry")
|
89 |
+
# analys_prodaj = st.checkbox("Анализ продаж", key=f"{i+1}mlru")
|
90 |
+
# work_with_clients = st.checkbox("Работа с клиентами", key=f"{i+1}mlri")
|
91 |
+
# riteil = st.checkbox("Ритейл", key=f"{i+1}mlrl")
|
92 |
+
# i+=1
|
93 |
+
# but = st.button('Данные введены в полном объеме', key=f"{i+1}mlurl")
|
94 |
+
# list_skills=[]
|
95 |
+
# if but:
|
96 |
+
# if python:
|
97 |
+
# list_skills.append('Python')
|
98 |
+
# if sql:
|
99 |
+
# list_skills.append('SQL')
|
100 |
+
# if html:
|
101 |
+
# list_skills.append('HTML')
|
102 |
+
# if java:
|
103 |
+
# list_skills.append('Java')
|
104 |
+
# if figma:
|
105 |
+
# list_skills.append('Figma')
|
106 |
+
# if power_bi:
|
107 |
+
# list_skills.append('Power BI')
|
108 |
+
# if prodaji:
|
109 |
+
# list_skills.append('Продажи')
|
110 |
+
# if work_with_clients:
|
111 |
+
# list_skills.append('Ра��ота с клиентами')
|
112 |
+
# if riteil:
|
113 |
+
# list_skills.append('ритейл')
|
114 |
|
115 |
|
116 |
def table(sphere: str, list_with_skills: list, dohod, sphere_change, gotov_uchitsia):
|
|
|
150 |
df_fin = table(sphere, list_skills, dohod, sphere_change, gotov_uchitsia)
|
151 |
|
152 |
st.header('Рост Вашего дохода')
|
153 |
+
|
154 |
+
labels = [age, age+1, age+2, age+3, age+4, age+5, age+6, age+7, age+8, age+9]
|
155 |
+
values = [dohod, dohod*1.05, dohod*1.1, dohod*1.11, dohod*1.12, dohod*1.13, dohod*1.14, dohod*1.14, dohod*1.14, dohod*1.14,]
|
156 |
fig, ax = plt.subplots()
|
157 |
|
158 |
# fig.set_size_inches(10, 5)
|
|
|
166 |
fig, ax = plt.subplots(figsize=(10, 5)) # Размер графика 30 на 30 дюймов
|
167 |
ax.plot(labels, values, marker='o', linewidth=2) # Линейный график с маркерами
|
168 |
ax.set_ylabel('Сумма, руб')
|
169 |
+
ax.set_xlabel('Ваш возраст, лет')
|
170 |
ax.set_title('Сравнение доходов')
|
171 |
ax.grid(True) # Добавление сетки
|
172 |
|
|
|
176 |
if gotov_uchitsia == "Нет":
|
177 |
count_course = 0
|
178 |
else:
|
179 |
+
count_course = 3
|
180 |
|
181 |
if sphere_change == "Да":
|
182 |
mask_sphere = df_fin['Сфера'] != 0
|
|
|
192 |
|
193 |
st.header('Вакансии, которые вам будут интересны')
|
194 |
st.dataframe(df_fin_sort, width=1100, height=500)
|
195 |
+
|