File size: 1,012 Bytes
f3a1940
 
5f41368
e4ce8fe
f3a1940
e4ce8fe
f17e764
e4ce8fe
 
 
 
f17e764
3d9250a
 
f17e764
cce39ff
 
f17e764
2eaf511
 
 
 
 
5ca912a
cce39ff
da4441d
f17e764
d7f99ce
da4441d
f17e764
6cad12f
f3a1940
6cad12f
cce39ff
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
27
28
29
30
31
32
33
34
35
import pandas as pd
import numpy as np
from scipy.sparse import csr_matrix, coo_matrix
import streamlit as st

# multi_project_matching
def calc_matches(filtered_df, project_df, similarity_matrix, top_x):
    st.write(filtered_df.shape)
    st.write(project_df.shape)
    st.write(similarity_matrix.shape)

    # Ensure the matrix is in a suitable format for manipulation
    if not isinstance(similarity_matrix, csr_matrix):
        similarity_matrix = csr_matrix(similarity_matrix)

    filtered_indices = filtered_df.index.to_list()
    project_indices = project_df.index.to_list()

    match_matrix = similarity_matrix[project_indices, :][:, filtered_indices]

    dense_match_matrix = match_matrix.toarray()
    
    st.write(dense_match_matrix.shape)

    """
    p1_df = filtered_df.loc[top_col_indices].copy()
    p1_df['similarity'] = top_values

    p2_df = project_df.loc[top_row_indices].copy()
    p2_df['similarity'] = top_values
    print("finished calc matches")

    return p1_df, p2_df
    """