Car.issimo @lotto_tom75 ,nel caso tu abbia tempo e voglia puoi dare un occhiata veloce a questo risultato prodotto .grazie
Codice:
Ti allego una breve relazione sul codice "migliori"
Analisi delle Estrazioni del Lotto per Ruote Specifiche
Il codice fornito è un'applicazione Python che analizza le estrazioni di numeri del lotto per diverse ruote specifiche al fine di identificare i numeri più frequenti e analizzare le loro anticipazioni. La struttura del codice è chiara e ben organizzata, con una serie di passaggi che guidano l'utente attraverso il processo di analisi dei dati.
Struttura e Funzionalità Principali del Codice:
Import delle Librerie: Il codice inizia importando le librerie pandas per la manipolazione dei dati tabellari e matplotlib.pyplot per la visualizzazione grafica. L'importazione di os è utilizzata per la gestione dei file di sistema.
Definizione delle Ruote: Viene definita una lista delle ruote su cui verranno eseguite le analisi. Questo approccio fornisce flessibilità nell'analizzare diverse ruote senza dover modificare il codice principale.
Funzione analizza_ruota(ruota): Questa funzione è il cuore del codice e si occupa di analizzare le estrazioni per una singola ruota. La funzione accetta il nome della ruota come argomento e restituisce i 3 numeri più frequenti e le rispettive percentuali di anticipazioni. La funzione è strutturata in modo chiaro e suddivisa in passaggi logici:
Verifica l'esistenza del file delle estrazioni per la ruota specificata.
Legge le estrazioni dal file e le elabora per ottenere i numeri individuali.
Calcola la frequenza di ciascun numero e identifica i 5 più frequenti.
Determina le anticipazioni per ciascun numero e crea un DataFrame per visualizzare queste informazioni.
Calcola le percentuali di anticipazioni per ciascun numero e le visualizza attraverso un grafico a barre.
Restituisce i primi 3 numeri più frequenti e la media delle percentuali di anticipazioni.
Iterazione sulle Ruote e Stampaggio dei Risultati Finali: Il codice itera su tutte le ruote definite e chiama la funzione analizza_ruota() per ciascuna di esse. Alla fine, stampa i risultati finali che includono i 3 numeri più frequenti e le rispettive percentuali di anticipazioni per ciascuna ruota.
Conclusioni e Potenziale di Miglioramento:
Il codice fornisce uno strumento utile per l'analisi delle estrazioni del lotto, consentendo agli utenti di ottenere una panoramica dettagliata dei numeri più frequenti e delle loro caratteristiche di anticipazione per diverse ruote. Tuttavia, potrebbe essere migliorato aggiungendo una documentazione più dettagliata e commenti esplicativi all'interno del codice per rendere più chiara la comprensione del processo di analisi.
Inoltre, l'aggiunta di funzionalità per l'automazione del download dei dati delle estrazioni e l'aggiornamento automatico delle analisi potrebbe rendere l'applicazione ancora più utile e user-friendly.
Codice:
Top 5 numeri più frequenti per la ruota Bari:
48 428
20 424
15 420
81 416
26 412
Name: count, dtype: int64
Anticipazioni per ciascun numero:
48 20 15 81 26
0 37 49 37 8 87
1 438 18 139 268 3
2 547 2 48 20 111
3 73 177 199 110 15
4 18 53 217 100 5
.. ... ... ... ... ...
422 104 107 0 0 0
423 32 0 0 0 0
424 209 0 0 0 0
425 54 0 0 0 0
426 6 0 0 0 0
[427 rows x 5 columns]
C:\Users\***\AppData\Local\Programs\Python\Python312\migliori.py:55: FutureWarning: DataFrame.applymap has been deprecated. Use DataFrame.map instead.
percentuali_anticipazioni = df_anticipazioni.applymap(lambda x: 0 if pd.isna(x) else x).apply(lambda col: col.apply(lambda x: sum(1 for val in col if val > 0) / len(col) * 100 if x != 0 else pd.NA))
Percentuali di anticipazioni per ciascun numero:
Numero Percentuale Anticipazioni
48 48 100.0
20 20 99.063232
15 15 98.126464
81 81 97.189696
26 26 96.252927
Top 5 numeri più frequenti per la ruota Cagliari:
56 426
80 422
81 412
1 409
84 408
Name: count, dtype: int64
Anticipazioni per ciascun numero:
56 80 81 1 84
0 33 334 26 30 152
1 35 11 104 9 223
2 211 42 8 124 108
3 138 23 6 234 45
4 71 19 118 88 101
.. ... ... ... ... ...
420 3 47 0 0 0
421 96 0 0 0 0
422 55 0 0 0 0
423 111 0 0 0 0
424 54 0 0 0 0
[425 rows x 5 columns]
C:\Users\***\AppData\Local\Programs\Python\Python312\migliori.py:55: FutureWarning: DataFrame.applymap has been deprecated. Use DataFrame.map instead.
percentuali_anticipazioni = df_anticipazioni.applymap(lambda x: 0 if pd.isna(x) else x).apply(lambda col: col.apply(lambda x: sum(1 for val in col if val > 0) / len(col) * 100 if x != 0 else pd.NA))
Percentuali di anticipazioni per ciascun numero:
Numero Percentuale Anticipazioni
56 56 100.0
80 80 99.058824
81 81 96.705882
1 1 96.0
84 84 95.764706
Top 5 numeri più frequenti per la ruota Firenze:
57 417
27 416
74 416
79 415
58 414
Name: count, dtype: int64
Anticipazioni per ciascun numero:
57 27 74 79 58
0 46 117 5 151 90
1 39 8 388 127 10
2 49 8 121 251 94
3 126 55 88 45 30
4 40 65 117 160 480
.. ... ... ... ... ...
411 51 70 19 113 21
412 14 15 60 48 5
413 66 28 153 37 0
414 9 180 48 0 0
415 80 0 0 0 0
[416 rows x 5 columns]
C:\Users\***\AppData\Local\Programs\Python\Python312\migliori.py:55: FutureWarning: DataFrame.applymap has been deprecated. Use DataFrame.map instead.
percentuali_anticipazioni = df_anticipazioni.applymap(lambda x: 0 if pd.isna(x) else x).apply(lambda col: col.apply(lambda x: sum(1 for val in col if val > 0) / len(col) * 100 if x != 0 else pd.NA))
Percentuali di anticipazioni per ciascun numero:
Numero Percentuale Anticipazioni
57 57 100.0
27 27 99.759615
74 74 99.759615
79 79 99.519231
58 58 99.278846
Top 5 numeri più frequenti per la ruota Genova:
10 418
19 412
21 409
20 408
74 404
Name: count, dtype: int64
Anticipazioni per ciascun numero:
10 19 21 20 74
0 34 84 178 12 55
1 11 67 54 19 63
2 161 30 54 70 31
3 3 29 174 364 71
4 162 144 70 67 57
.. ... ... ... ... ..
412 106 0 0 0 0
413 76 0 0 0 0
414 65 0 0 0 0
415 111 0 0 0 0
416 109 0 0 0 0
[417 rows x 5 columns]
C:\Users\***\AppData\Local\Programs\Python\Python312\migliori.py:55: FutureWarning: DataFrame.applymap has been deprecated. Use DataFrame.map instead.
percentuali_anticipazioni = df_anticipazioni.applymap(lambda x: 0 if pd.isna(x) else x).apply(lambda col: col.apply(lambda x: sum(1 for val in col if val > 0) / len(col) * 100 if x != 0 else pd.NA))
Percentuali di anticipazioni per ciascun numero:
Numero Percentuale Anticipazioni
10 10 100.0
19 19 98.561151
21 21 97.841727
20 20 97.601918
74 74 96.642686
Top 5 numeri più frequenti per la ruota Milano:
82 430
15 428
16 422
14 421
53 418
Name: count, dtype: int64
Anticipazioni per ciascun numero:
82 15 16 14 53
0 25 56 180 92 22
1 208 6 2 62 92
2 67 111 9 21 29
3 114 5 106 94 83
4 39 207 38 12 36
.. ... ... ... .. ..
424 19 52 0 0 0
425 79 8 0 0 0
426 42 68 0 0 0
427 47 0 0 0 0
428 48 0 0 0 0
[429 rows x 5 columns]
C:\Users\***\AppData\Local\Programs\Python\Python312\migliori.py:55: FutureWarning: DataFrame.applymap has been deprecated. Use DataFrame.map instead.
percentuali_anticipazioni = df_anticipazioni.applymap(lambda x: 0 if pd.isna(x) else x).apply(lambda col: col.apply(lambda x: sum(1 for val in col if val > 0) / len(col) * 100 if x != 0 else pd.NA))
Percentuali di anticipazioni per ciascun numero:
Numero Percentuale Anticipazioni
82 82 100.0
15 15 99.5338
16 16 98.135198
14 14 97.902098
53 53 97.202797
Top 5 numeri più frequenti per la ruota Napoli:
45 446
52 430
13 413
76 412
6 410
Name: count, dtype: int64
Anticipazioni per ciascun numero:
45 52 13 76 6
0 39 78 8 200 11
1 116 27 107 28 6
2 142 153 22 16 121
3 9 52 94 128 10
4 104 151 16 61 89
.. ... ... ... ... ...
440 108 0 0 0 0
441 40 0 0 0 0
442 13 0 0 0 0
443 72 0 0 0 0
444 21 0 0 0 0
[445 rows x 5 columns]
C:\Users\***\AppData\Local\Programs\Python\Python312\migliori.py:55: FutureWarning: DataFrame.applymap has been deprecated. Use DataFrame.map instead.
percentuali_anticipazioni = df_anticipazioni.applymap(lambda x: 0 if pd.isna(x) else x).apply(lambda col: col.apply(lambda x: sum(1 for val in col if val > 0) / len(col) * 100 if x != 0 else pd.NA))
Percentuali di anticipazioni per ciascun numero:
Numero Percentuale Anticipazioni
45 45 100.0
52 52 96.404494
13 13 92.58427
76 76 92.359551
6 6 91.910112
Top 5 numeri più frequenti per la ruota Palermo:
2 419
87 412
30 410
38 410
65 408
Name: count, dtype: int64
Anticipazioni per ciascun numero:
2 87 30 38 65
0 104 46 29 47 134
1 51 11 133 46 196
2 29 10 244 44 166
3 90 70 204 103 238
4 49 55 405 60 60
.. ... .. ... ... ...
413 6 0 0 0 0
414 173 0 0 0 0
415 81 0 0 0 0
416 143 0 0 0 0
417 35 0 0 0 0
[418 rows x 5 columns]
C:\Users\***\AppData\Local\Programs\Python\Python312\migliori.py:55: FutureWarning: DataFrame.applymap has been deprecated. Use DataFrame.map instead.
percentuali_anticipazioni = df_anticipazioni.applymap(lambda x: 0 if pd.isna(x) else x).apply(lambda col: col.apply(lambda x: sum(1 for val in col if val > 0) / len(col) * 100 if x != 0 else pd.NA))
Percentuali di anticipazioni per ciascun numero:
Numero Percentuale Anticipazioni
2 2 100.0
87 87 98.325359
30 30 97.84689
38 38 97.84689
65 65 97.368421
Top 5 numeri più frequenti per la ruota Roma:
63 417
83 417
35 415
90 415
89 412
Name: count, dtype: int64
Anticipazioni per ciascun numero:
63 83 35 90 89
0 26 181 42 144 129
1 30 302 17 85 36
2 107 192 15 102 175
3 19 3 28 40 85
4 12 16 172 34 5
.. ... ... ... ... ...
411 74 92 47 160 0
412 64 4 21 13 0
413 151 119 151 53 0
414 24 50 0 0 0
415 324 24 0 0 0
[416 rows x 5 columns]
C:\Users\****\AppData\Local\Programs\Python\Python312\migliori.py:55: FutureWarning: DataFrame.applymap has been deprecated. Use DataFrame.map instead.
percentuali_anticipazioni = df_anticipazioni.applymap(lambda x: 0 if pd.isna(x) else x).apply(lambda col: col.apply(lambda x: sum(1 for val in col if val > 0) / len(col) * 100 if x != 0 else pd.NA))
Percentuali di anticipazioni per ciascun numero:
Numero Percentuale Anticipazioni
63 63 100.0
83 83 100.0
35 35 99.519231
90 90 99.519231
89 89 98.798077
Top 5 numeri più frequenti per la ruota Torino:
81 428
85 423
5 419
42 418
51 416
Name: count, dtype: int64
Anticipazioni per ciascun numero:
81 85 5 42 51
0 51 106 17 125 29
1 32 8 100 33 146
2 10 24 15 17 10
3 275 60 121 98 61
4 112 45 44 34 15
.. ... ... ... ... ...
422 41 0 0 0 0
423 104 0 0 0 0
424 10 0 0 0 0
425 37 0 0 0 0
426 223 0 0 0 0
[427 rows x 5 columns]
C:\Users\***\AppData\Local\Programs\Python\Python312\migliori.py:55: FutureWarning: DataFrame.applymap has been deprecated. Use DataFrame.map instead.
percentuali_anticipazioni = df_anticipazioni.applymap(lambda x: 0 if pd.isna(x) else x).apply(lambda col: col.apply(lambda x: sum(1 for val in col if val > 0) / len(col) * 100 if x != 0 else pd.NA))
Percentuali di anticipazioni per ciascun numero:
Numero Percentuale Anticipazioni
81 81 100.0
85 85 98.82904
5 5 97.892272
42 42 97.65808
51 51 97.189696
Top 5 numeri più frequenti per la ruota Venezia:
86 434
53 429
65 421
89 419
74 416
Name: count, dtype: int64
Anticipazioni per ciascun numero:
86 53 65 89 74
0 37 98 58 65 18
1 2 19 32 73 6
2 126 51 80 235 89
3 27 220 175 151 197
4 60 17 12 53 156
.. ... ... ... ... ...
428 53 0 0 0 0
429 16 0 0 0 0
430 69 0 0 0 0
431 132 0 0 0 0
432 122 0 0 0 0
[433 rows x 5 columns]
C:\Users\***\AppData\Local\Programs\Python\Python312\migliori.py:55: FutureWarning: DataFrame.applymap has been deprecated. Use DataFrame.map instead.
percentuali_anticipazioni = df_anticipazioni.applymap(lambda x: 0 if pd.isna(x) else x).apply(lambda col: col.apply(lambda x: sum(1 for val in col if val > 0) / len(col) * 100 if x != 0 else pd.NA))
Percentuali di anticipazioni per ciascun numero:
Numero Percentuale Anticipazioni
86 86 100.0
53 53 98.845266
65 65 96.997691
89 89 96.535797
74 74 95.842956
Top 5 numeri più frequenti per la ruota Nazionale:
80 194
17 190
33 187
46 186
22 185
Name: count, dtype: int64
Anticipazioni per ciascun numero:
80 17 33 46 22
0 78 67 96 23 56
1 9 9 94 43 13
2 19 35 79 100 50
3 388 89 51 102 137
4 67 26 88 39 38
.. ... .. .. ... ...
188 17 89 0 0 0
189 181 0 0 0 0
190 19 0 0 0 0
191 27 0 0 0 0
192 58 0 0 0 0
[193 rows x 5 columns]
C:\Users\***\AppData\Local\Programs\Python\Python312\migliori.py:55: FutureWarning: DataFrame.applymap has been deprecated. Use DataFrame.map instead.
percentuali_anticipazioni = df_anticipazioni.applymap(lambda x: 0 if pd.isna(x) else x).apply(lambda col: col.apply(lambda x: sum(1 for val in col if val > 0) / len(col) * 100 if x != 0 else pd.NA))
Percentuali di anticipazioni per ciascun numero:
Numero Percentuale Anticipazioni
80 80 100.0
17 17 97.927461
33 33 96.373057
46 46 95.854922
22 22 95.336788
Risultati finali - 3 numeri migliori e percentuali di anticipazioni per ciascuna ruota:
Bari: Numeri migliori [48, 20, 15], Percentuali di Anticipazioni 48 100.0
20 99.063232
15 98.126464
81 97.189696
26 96.252927
dtype: object
Cagliari: Numeri migliori [56, 80, 81], Percentuali di Anticipazioni 56 100.0
80 99.058824
81 96.705882
1 96.0
84 95.764706
dtype: object
Firenze: Numeri migliori [57, 27, 74], Percentuali di Anticipazioni 57 100.0
27 99.759615
74 99.759615
79 99.519231
58 99.278846
dtype: object
Genova: Numeri migliori [10, 19, 21], Percentuali di Anticipazioni 10 100.0
19 98.561151
21 97.841727
20 97.601918
74 96.642686
dtype: object
Milano: Numeri migliori [82, 15, 16], Percentuali di Anticipazioni 82 100.0
15 99.5338
16 98.135198
14 97.902098
53 97.202797
dtype: object
Napoli: Numeri migliori [45, 52, 13], Percentuali di Anticipazioni 45 100.0
52 96.404494
13 92.58427
76 92.359551
6 91.910112
dtype: object
Palermo: Numeri migliori [2, 87, 30], Percentuali di Anticipazioni 2 100.0
87 98.325359
30 97.84689
38 97.84689
65 97.368421
dtype: object
Roma: Numeri migliori [63, 83, 35], Percentuali di Anticipazioni 63 100.0
83 100.0
35 99.519231
90 99.519231
89 98.798077
dtype: object
Torino: Numeri migliori [81, 85, 5], Percentuali di Anticipazioni 81 100.0
85 98.82904
5 97.892272
42 97.65808
51 97.189696
dtype: object
Venezia: Numeri migliori [86, 53, 65], Percentuali di Anticipazioni 86 100.0
53 98.845266
65 96.997691
89 96.535797
74 95.842956
dtype: object
Nazionale: Numeri migliori [80, 17, 33], Percentuali di Anticipazioni 80 100.0
17 97.927461
33 96.373057
46 95.854922
22 95.336788
dtype: object
Ultima modifica: