continuing
This commit is contained in:
19
src/BatchcodeCompletion.py
Normal file
19
src/BatchcodeCompletion.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from SmartRegexpFactory import SmartRegexpFactory
|
||||
import pandas as pd
|
||||
|
||||
class BatchcodeCompletion:
|
||||
|
||||
def __init__(self, ADR_by_Batchcode):
|
||||
self.ADR_by_Batchcode = ADR_by_Batchcode.sort_values(by = 'Adverse Reaction Reports', ascending = False)
|
||||
|
||||
def completeBatchcode(self, partialBatchcode):
|
||||
if pd.isna(partialBatchcode):
|
||||
return None
|
||||
return self._getBatchcodeHavingMostADRs(self._filterBy(partialBatchcode))
|
||||
|
||||
def _filterBy(self, partialBatchcode):
|
||||
smartRegexp = SmartRegexpFactory().createSmartRegexp(partialBatchcode)
|
||||
return self.ADR_by_Batchcode[self.ADR_by_Batchcode.index.str.contains(smartRegexp, na = False, regex = True)]
|
||||
|
||||
def _getBatchcodeHavingMostADRs(self, ADR_by_Batchcode):
|
||||
return ADR_by_Batchcode.index[0] if not ADR_by_Batchcode.empty else None
|
||||
Reference in New Issue
Block a user