MotoPanda commited on
Commit
107757b
·
verified ·
1 Parent(s): 332b492

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -19
app.py CHANGED
@@ -8,17 +8,26 @@ st.title('Каталог профессий IT и Продажи')
8
 
9
  st.sidebar.title('Выбор параметров для подбора вакансий')
10
 
11
- with open('main_table.json', 'r') as json_file:
12
  data_main = json.load(json_file)
13
- df1 = pd.DataFrame(data_main)
14
 
15
- with open('dop_table.json', 'r') as json_file:
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
@@ -29,7 +38,7 @@ with st.sidebar:
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)
@@ -74,7 +83,7 @@ with st.sidebar:
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)
@@ -114,15 +123,15 @@ with st.sidebar:
114
 
115
 
116
  def table(sphere: str, list_with_skills: list, dohod, sphere_change, gotov_uchitsia):
117
- new_df = pd.merge(df1, df2, on='Навыки', how='outer')
118
  new_df2 = new_df
119
 
120
 
121
- new_df2['Есть_в_списке'] = new_df2['Навыки'].apply(lambda x: 1 if x in list_with_skills else 0)
122
- result = new_df2.groupby(['Профессия', 'Сфера', 'ЗП в вакансии']).agg(
123
- Skill=('Навыки', set),
124
- Cours=('курс', set),
125
- Links=('ссылка', set),
126
  On_list=('Есть_в_списке', set)
127
  ).reset_index()
128
 
@@ -141,7 +150,7 @@ def table(sphere: str, list_with_skills: list, dohod, sphere_change, gotov_uchit
141
 
142
 
143
 
144
- result2 = result[['Сфера', 'Профессия', 'ЗП в вакансии', 'Требуемые навыки для позиции', 'Недостающие навыки',
145
  'Наименования доступных курсов',
146
  'Ссылки на курс']]
147
  return result2
@@ -187,9 +196,8 @@ else:
187
 
188
 
189
  mask_len = df_fin['Недостающие навыки'].apply(lambda x: len(x) <= count_course)
190
- df_fin = df_fin[mask_len][mask_sphere][df_fin['ЗП в вакансии'] >= dohod]
191
- df_fin_sort = df_fin.sort_values(by=['ЗП в вакансии'], ascending=[False]).reset_index(drop=True)
192
 
193
  st.header('Вакансии, которые вам будут интересны')
194
  st.dataframe(df_fin_sort, width=1100, height=500)
195
-
 
8
 
9
  st.sidebar.title('Выбор параметров для подбора вакансий')
10
 
11
+ with open('catalog.json', 'r') as json_file:
12
  data_main = json.load(json_file)
13
+ df3 = pd.DataFrame(data_main)
14
 
15
+ df1 = df3[['Сфера', 'Компания', 'Должность', 'Зарплата (руб.)', 'Необходимые навыки']]
16
+ df2 = df3[['Должность', 'Необходимые навыки', 'Подходящие курсы Нетологии', 'Ссылки']]
 
17
 
18
 
19
+ #
20
+ # with open('main_table.json', 'r') as json_file:
21
+ # data_main = json.load(json_file)
22
+ # df1 = pd.DataFrame(data_main)
23
+ #
24
+ # with open('dop_table.json', 'r') as json_file:
25
+ # data_dop = json.load(json_file)
26
+ # df2= pd.DataFrame(data_dop)
27
+
28
+
29
+ df1['Необходимые навыки'] = [i.lower().replace('.', '').replace('-', '') for i in df1['Необходимые навыки']]
30
+ df2['Необходимые навыки'] = [i.lower().replace('.', '').replace('-', '') for i in df2['Необходимые навыки']]
31
 
32
  dohod = 0
33
  i = 0
 
38
  st.write("Выбрано:", sphere)
39
 
40
  job = st.selectbox(
41
+ "Выбери сферу:", options=list(df1['Должность'].unique()), key=2)
42
  st.write("Выбрано:", job)
43
 
44
  # st.write(df.columns)
 
83
  st.header('Выберите навыки, которые у Вас есть')
84
 
85
  list_skills = []
86
+ for i in sorted(set(df1['Необходимые навыки'])):
87
  skill = st.checkbox(i, key=f"{i}")
88
  if skill:
89
  list_skills.append(i)
 
123
 
124
 
125
  def table(sphere: str, list_with_skills: list, dohod, sphere_change, gotov_uchitsia):
126
+ new_df = pd.merge(df1, df2, on=['Необходимые навыки', 'Должность'], how='outer')
127
  new_df2 = new_df
128
 
129
 
130
+ new_df2['Есть_в_списке'] = new_df2['Необходимые навыки'].apply(lambda x: 1 if x in list_with_skills else 0)
131
+ result = new_df2.groupby(['Должность', 'Сфера', 'Зарплата (руб.)']).agg(
132
+ Skill=('Необходимые навыки', set),
133
+ Cours=('Подходящие курсы Нетологии', set),
134
+ Links=('Ссылки', set),
135
  On_list=('Есть_в_списке', set)
136
  ).reset_index()
137
 
 
150
 
151
 
152
 
153
+ result2 = result[['Сфера', 'Должность', 'Зарплата (руб.)', 'Требуемые навыки для позиции', 'Недостающие навыки',
154
  'Наименования доступных курсов',
155
  'Ссылки на курс']]
156
  return result2
 
196
 
197
 
198
  mask_len = df_fin['Недостающие навыки'].apply(lambda x: len(x) <= count_course)
199
+ df_fin = df_fin[mask_len][mask_sphere][df_fin['Зарплата (руб.)'] >= dohod]
200
+ df_fin_sort = df_fin.sort_values(by=['Зарплата (руб.)'], ascending=[False]).reset_index(drop=True)
201
 
202
  st.header('Вакансии, которые вам будут интересны')
203
  st.dataframe(df_fin_sort, width=1100, height=500)