Example #1
0
def calculate_percentage_single_row(row, truncate_out=True):
    for k, v in PPR_COLS_PERCENTAGE_RELATIONS.items():
        num = row[v[0]]
        den = row[v[1]]
        extra_number = v[2] if len(v) > 2 else None
        row[k] = calculate_percent(num, den, extra_number, truncate_out)
        # calculation is done on decimal values
        # and then round off to nearest integer
        row[v[0]] = round(row[v[0]])
        row[v[1]] = round(row[v[1]])
    return row
 def __calculate_percentage_in_rows(self, row, all_cols):
     for k, v in PPR_COLS_PERCENTAGE_RELATIONS.items():
         num = row[all_cols.index(v[0])]
         den = row[all_cols.index(v[1])]
         extra_number = v[2] if len(v) > 2 else None
         row[all_cols.index(k)] = calculate_percent(num, den, extra_number)
         # calculation is done on decimal values
         # and then round off to nearest integer
         row[all_cols.index(v[0])] = round(row[all_cols.index(v[0])])
         row[all_cols.index(v[1])] = round(row[all_cols.index(v[1])])
     return row
def calculate_percentage_single_row(row, truncate_out=True):
    for k, v in PPR_COLS_PERCENTAGE_RELATIONS.items():
        num = row.get(v[0], 0)
        den = row.get(v[1], 1)  # to avoid 0/0 division error
        extra_number = v[2] if len(v) > 2 else None
        row[k] = calculate_percent(num, den, extra_number, truncate_out)
        # calculation is done on decimal values
        # and then round off to nearest integer
        # and if not present defaulting them to zero
        row[v[0]] = round(row.get(v[0], 0))
        row[v[1]] = round(row.get(v[1], 0))
    return row