From 3d3093f3a3e5f4aacd5aa8a0bdba74b54b147001 Mon Sep 17 00:00:00 2001
From: Tamas Mona <tm689@cam.ac.uk>
Date: Thu, 25 Aug 2022 14:46:43 +0100
Subject: [PATCH] Add filter function to allow filtering by list (with multiple
 countries)

---
 ProcessorComponents.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/ProcessorComponents.py b/ProcessorComponents.py
index 883cd57..138743e 100644
--- a/ProcessorComponents.py
+++ b/ProcessorComponents.py
@@ -1079,11 +1079,17 @@ def process_in_job_survey(jobPath,status,config,component):
         #TODO : for Kenya data, provide a coordinate-based filter
         return
 
+    def filter_by_list(df,coln,values):
+        # CAUTION: This requires surveyor to provide the correct list of countries
+        df.drop(df.loc[~df[coln].isin(values)].index,inplace=True)
+        return
+
     func_types = {
         'add': add_column,
         'remove' : remove_column,
         'replace' : replace_column,
-        'filter' : filter_by_column
+        'filter' : filter_by_column,
+        'filter_by_list' : filter_by_list
     }
 
     # simple format alignment using edits on config
-- 
GitLab