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