#!/usr/bin/env python3 """ Einfache Eurojackpot Bereichsanalyse """ import pandas as pd from collections import Counter def analyze_ranges(): """Analysiert Zahlenbereiche in Eurojackpot-Daten.""" # Daten laden df = pd.read_csv("/Users/sebastianfrohlich/Library/Mobile Documents/com~apple~CloudDocs/Jupyter Notebooks/Eurojackpot/data/AlleEurojackpotzahlen.csv", sep=';') print(f"Anzahl Ziehungen: {len(df)}") # Alle Zahlen sammeln all_numbers = [] for col in ['Z1', 'Z2', 'Z3', 'Z4', 'Z5']: all_numbers.extend(df[col].tolist()) # Bereiche definieren ranges = { '1-10': list(range(1, 11)), '11-20': list(range(11, 21)), '21-30': list(range(21, 31)), '31-40': list(range(31, 41)), '41-50': list(range(41, 51)) } print(f"\nGesamt gezogene Zahlen: {len(all_numbers)}") print("="*50) # Analyse pro Bereich for range_name, range_numbers in ranges.items(): count = sum(1 for num in all_numbers if num in range_numbers) percentage = (count / len(all_numbers)) * 100 print(f"{range_name:6}: {count:4} Zahlen ({percentage:5.1f}%)") print("="*50) # Häufigste Zahlen number_counts = Counter(all_numbers) print("\nHäufigste 10 Zahlen:") for num, count in number_counts.most_common(10): print(f"Zahl {num:2}: {count:3} mal") print("\nSeltenste 10 Zahlen:") for num, count in number_counts.most_common()[-10:]: print(f"Zahl {num:2}: {count:3} mal") if __name__ == "__main__": analyze_ranges()