27 lines
943 B
Python
27 lines
943 B
Python
class DictByBatchcodeTable2DictConverter:
|
|
|
|
@staticmethod
|
|
def convertDictByBatchcodeTable2Dict(dictByBatchcodeTable, batchcode):
|
|
return {
|
|
"batchcode": batchcode,
|
|
"histograms": DictByBatchcodeTable2DictConverter._getHistograms(dictByBatchcodeTable)
|
|
}
|
|
|
|
@staticmethod
|
|
def _getHistograms(dictByBatchcodeTable):
|
|
return (
|
|
dictByBatchcodeTable
|
|
.apply(
|
|
lambda row: {
|
|
"batchcodes": DictByBatchcodeTable2DictConverter._getNaNBatchcodes(row.name),
|
|
"histogram": row['SYMPTOM_COUNT_BY_VAX_LOT']
|
|
},
|
|
axis = 'columns')
|
|
.to_list()
|
|
)
|
|
|
|
@staticmethod
|
|
def _getNaNBatchcodes(batchcodes):
|
|
# FK-TODO: handle 'nan' everywhere correctly
|
|
return [batchcode for batchcode in batchcodes if batchcode != 'nan']
|