def analyse_by_label_content(label: str, transactions: List[Transaction], start: datetime, end: datetime) -> float: """" To print transaction >>> print(analyser.__str__()[0:500]) >>> print(anylyser) """ analyser = Analyser(transactions) analyser.filter_date(start, end).filter_by_label_contains_value(label) total_spent_sum = analyser.reduce_to_sum() average_basket = analyser.reduce_to_average() average_spent_per_day = total_spent_sum / (end - start).days print(f"{label} Analysis between {start} and {end}\n" f"Total spent is: {total_spent_sum}\n" f"Average basket is {average_basket}\n" f"Average spent per day is: {average_spent_per_day}") print("\n\n") return total_spent_sum