def for_each_facility(self, data, combination, previous_cycle_data=None): ratio = combination[RATIO] df1_records = filter_consumption_records(data, combination[DF1]) df2_records = filter_consumption_records(data, combination[DF2]) df1_count = len(df1_records) df2_count = len(df2_records) df1_values = values_for_records(combination[FIELDS], df1_records) df2_values = values_for_records(combination[FIELDS], df2_records) sum_df1 = pydash.chain(df1_values).reject(lambda x: x is None).sum().value() sum_df2 = pydash.chain(df2_values).reject(lambda x: x is None).sum().value() all_df1_fields_are_blank = pydash.every(df1_values, lambda x: x is None) all_df2_fields_are_blank = pydash.every(df2_values, lambda x: x is None) return calculate_score(df1_count, df2_count, sum_df1, sum_df2, ratio, all_df1_fields_are_blank, all_df2_fields_are_blank, facility_not_reporting(data))
def for_each_facility(self, data, combination, previous_cycle_data=None): ratio = combination[RATIO] df1_records = filter_consumption_records(data, combination[DF1]) df2_records = filter_consumption_records(data, combination[DF2]) df1_count = len(df1_records) df2_count = len(df2_records) df1_values = values_for_records(combination[FIELDS], df1_records) df2_values = values_for_records(combination[FIELDS], df2_records) sum_df1 = pydash.chain(df1_values).reject( lambda x: x is None).sum().value() sum_df2 = pydash.chain(df2_values).reject( lambda x: x is None).sum().value() all_df1_fields_are_blank = pydash.every(df1_values, lambda x: x is None) all_df2_fields_are_blank = pydash.every(df2_values, lambda x: x is None) return calculate_score(df1_count, df2_count, sum_df1, sum_df2, ratio, all_df1_fields_are_blank, all_df2_fields_are_blank, facility_not_reporting(data))
def for_each_facility(self, facility, combination, previous_cycle_data=None): return NO if facility_not_reporting(facility) else YES