File size: 761 Bytes
57a5237
 
 
 
 
 
55a6bd8
 
 
 
 
 
 
 
 
 
 
57a5237
55a6bd8
 
57a5237
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import pandas as pd

def contains_code(crs_codes, code_list):
    codes = str(crs_codes).split(';')
    return any(code in code_list for code in codes)

def filter_projects(df, crs3_list, crs5_list, sdg_str):
    if crs3_list != [] or crs5_list != [] or sdg_str != "":
        if crs3_list and not crs5_list:  
            df = df[df['crs_3_code'].apply(lambda x: contains_code(x, crs3_list))]
        elif crs3_list and crs5_list:  
            df = df[df['crs_5_code'].apply(lambda x: contains_code(x, crs5_list))]
        elif not crs3_list and crs5_list:
            df = df[df['crs_5_code'].apply(lambda x: contains_code(x, crs5_list))]

        if sdg_str != "": 
            df = df[df["sgd_pred_code"] == int(sdg_str)]

        return df