Files
Eurojackpot-Tipp-Generator/scripts/analysis/simple_bereichsanalyse.py
T

54 lines
1.6 KiB
Python
Raw Normal View History

#!/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()