File size: 902 Bytes
c8e0175 6f41b63 c094750 6f41b63 c8e0175 c094750 c8e0175 c094750 5d7d815 c094750 9dce01e c094750 c8e0175 |
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 |
import pandas as pd
import numpy as np
def find_similar(p_index, similarity_matrix, filtered_df, top_x):
# filter out just projects from filtered df
filtered_indices = filtered_df.index.tolist()
index_position_mapping = {position: index for position, index in enumerate(filtered_indices)}
filtered_column_sim_matrix = similarity_matrix[:, filtered_indices]
# filter out the row of the selected poject
project_row = filtered_column_sim_matrix[p_index]
sorted_indices = np.argsort(project_row)
top_10_indices_descending = sorted_indices[-10:][::-1]
#top_10_original_indices = [index_position_mapping[position] for position in top_10_indices_descending]
top_10_values_descending = project_row[top_10_indices_descending]
result_df = filtered_df.iloc[top_10_indices_descending]
result_df["similarity"] = top_10_values_descending
return result_df
|