Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
import pandas as pd
|
2 |
import streamlit as st
|
3 |
import numpy as np
|
4 |
-
from scipy.
|
5 |
|
6 |
# Загрузка данных из Excel файлов
|
7 |
vacancy = 'vacancy_new_new.xlsx'
|
@@ -47,17 +47,19 @@ if st.button("Найти совпадения"):
|
|
47 |
# Преобразование в array для поиска
|
48 |
selected_skills_array = np.array(skills_ids, dtype=int)
|
49 |
|
50 |
-
# Поиск совпадений по методу
|
51 |
matching_results = []
|
52 |
for index, row in df_to_search.iterrows():
|
53 |
if 'arr' in row and isinstance(row['arr'], str):
|
54 |
arr_values = np.array([int(x) for x in row['arr'].split(',')], dtype=int)
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
|
|
|
|
61 |
|
62 |
# Вывод результатов, где совпадение больше 50%
|
63 |
st.write("Результаты с совпадением более 50%:")
|
@@ -67,7 +69,7 @@ if st.button("Найти совпадения"):
|
|
67 |
f"""
|
68 |
<div style="border: 1px solid #ddd; padding: 10px; border-radius: 5px; margin-bottom: 10px;">
|
69 |
<h4 style="margin: 0;">{result['Name']}</h4>
|
70 |
-
<p><strong>Коэффициент совпадения:</strong> {result['
|
71 |
</div>
|
72 |
""",
|
73 |
unsafe_allow_html=True
|
|
|
1 |
import pandas as pd
|
2 |
import streamlit as st
|
3 |
import numpy as np
|
4 |
+
from scipy.spatial.distance import hamming
|
5 |
|
6 |
# Загрузка данных из Excel файлов
|
7 |
vacancy = 'vacancy_new_new.xlsx'
|
|
|
47 |
# Преобразование в array для поиска
|
48 |
selected_skills_array = np.array(skills_ids, dtype=int)
|
49 |
|
50 |
+
# Поиск совпадений по методу Hamming Distance
|
51 |
matching_results = []
|
52 |
for index, row in df_to_search.iterrows():
|
53 |
if 'arr' in row and isinstance(row['arr'], str):
|
54 |
arr_values = np.array([int(x) for x in row['arr'].split(',')], dtype=int)
|
55 |
+
if len(arr_values) == len(selected_skills_array):
|
56 |
+
hamming_distance = hamming(selected_skills_array, arr_values)
|
57 |
+
similarity = 1 - hamming_distance
|
58 |
+
if similarity > 0.5:
|
59 |
+
matching_results.append({
|
60 |
+
'Name': row['name'],
|
61 |
+
'Similarity': similarity
|
62 |
+
})
|
63 |
|
64 |
# Вывод результатов, где совпадение больше 50%
|
65 |
st.write("Результаты с совпадением более 50%:")
|
|
|
69 |
f"""
|
70 |
<div style="border: 1px solid #ddd; padding: 10px; border-radius: 5px; margin-bottom: 10px;">
|
71 |
<h4 style="margin: 0;">{result['Name']}</h4>
|
72 |
+
<p><strong>Коэффициент совпадения:</strong> {result['Similarity']:.2f}</p>
|
73 |
</div>
|
74 |
""",
|
75 |
unsafe_allow_html=True
|