DOMANDA Programma in python non mi si apre

Gigi_xx_1

Nuovo Utente
20
0
Ciao a tutti Perchè il seguente programma in python non mi si apre e non mi da il risultato per cui è stato programmato

eccovi il codice

Python:
import pandas as pd
from sklearn.linear_model import LinearRegression

# Caricamento dei dati storici dei prezzi
df = pd.read_csv('prezzi.csv')

# Suddivisione dei dati in dati di addestramento e dati di test
train_data = df.iloc[:-30, :]
test_data = df.iloc[-30:, :]

# Creazione del modello di regressione lineare
lr_model = LinearRegression()

# Addestramento del modello sui dati di addestramento
lr_model.fit(train_data[['Prezzo Passato 1', 'Prezzo Passato 2']], train_data['Prezzo'])

# Utilizzo del modello per prevedere i prezzi futuri
future_prices = lr_model.predict(test_data[['Prezzo Passato 1', 'Prezzo Passato 2']])

# Stampa dei prezzi futuri previsti
print(future_prices)
 
Ultima modifica da un moderatore:

Gigi_xx_1

Nuovo Utente
20
0
che significa "non mi si apre" ? Lo stai eseguend con pyhton ? Posta l'errore
allora faccio doppio click sul file si apre per 1 secondo e si chiude subito. Certo che lo sto eseguendo con python. eccoti l'errore datomi dalla IDLE
Post unito automaticamente:

allora faccio doppio click sul file si apre per 1 secondo e si chiude subito. Certo che lo sto eseguendo con python. eccoti l'errore datomi dalla IDLE
================= RESTART: C:/Users/luigi/Desktop/prezzi/btc.py ================
Traceback (most recent call last):
File "C:/Users/luigi/Desktop/prezzi/btc.py", line 15, in <module>
lr_model.fit(train_data[['Prezzo Passato 1', 'Prezzo Passato 2']], train_data['Prezzo'])
File "C:\Users\luigi\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\core\frame.py", line 3813, in __getitem__
indexer = self.columns._get_indexer_strict(key, "columns")[1]
File "C:\Users\luigi\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\core\indexes\base.py", line 6070, in _get_indexer_strict
self._raise_if_missing(keyarr, indexer, axis_name)
File "C:\Users\luigi\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\core\indexes\base.py", line 6130, in _raise_if_missing
raise KeyError(f"None of [{key}] are in the [{axis_name}]")
KeyError: "None of [Index(['Prezzo Passato 1', 'Prezzo Passato 2'], dtype='object')] are in the [columns]"
 

Gigi_xx_1

Nuovo Utente
20
0
cosi ad occhio c'e' qualcosa che gli turba in prezzi.csv. in train_data

Di piu senza il csv non saprei.
Questo è quello che c'è scritto nel csv

[EDIT da un moderatore] spoiler aggiunto

dataprezzi
29/03/2023€26.062
28/03/2023€25.175
27/03/2023€25.167
26/03/2023€26.019
25/03/2023€25.630
24/03/2023€25.617
23/03/2023€26.181
22/03/2023€25.195
21/03/2023€26.241
20/03/2023€26.000
19/03/2023€26.371
18/03/2023€25.301
17/03/2023€25.714
16/03/2023€23.629
15/03/2023€23.000
14/03/2023€22.990
13/03/2023€22.350
12/03/2023€20.638
11/03/2023€19.149
10/03/2023€18.988
09/03/2023€19.307
08/03/2023€20.597
07/03/2023€21.068
06/03/2023€21.005
05/03/2023€21.191
04/03/2023€21.133
03/03/2023€21.113
02/03/2023€22.192
01/03/2023€22.227
28/02/2023€21.982
27/02/2023€22.208
26/02/2023€22.340
25/02/2023€21.992
24/02/2023€22.005
23/02/2023€22.595
22/02/2023€22.808
21/02/2023€22.963
20/02/2023€23.251
19/02/2023€22.740
18/02/2023€23.034
17/02/2023€22.990
16/02/2023€22.060
15/02/2023€22.740
14/02/2023€20.685
13/02/2023€20.305
12/02/2023€20.413
11/02/2023€20.480
10/02/2023€20.269
09/02/2023€20.306
08/02/2023€21.434
07/02/2023€21.678
06/02/2023€21.226
05/02/2023€21.270
04/02/2023€21.600
03/02/2023€21.705
02/02/2023€21.542
01/02/2023€21.554
31/01/2023€21.304
30/01/2023€21.053
29/01/2023€21.847
28/01/2023€21.200
27/01/2023€21.247
26/01/2023€21.129
25/01/2023€21.122
24/01/2023€20.796
23/01/2023€21.095
22/01/2023€20.904
21/01/2023€20.987
20/01/2023€20.904
19/01/2023€19.460
18/01/2023€19.151
17/01/2023€19.602
16/01/2023€19.566
15/01/2023€19.285
14/01/2023€19.339
13/01/2023€18.403
12/01/2023€17.360
11/01/2023€16.669
10/01/2023€16.248
09/01/2023€16.010
08/01/2023€16.053
07/01/2023€15.916
06/01/2023€15.919
05/01/2023€15.993
04/01/2023€15.886
03/01/2023€15.799
02/01/2023€15.596
01/01/2023€15.498
31/12/2022€15.422
30/12/2022€15.509
29/12/2022€15.602
28/12/2022€15.551
27/12/2022€15.697
26/12/2022€15.879
25/12/2022€15.837
24/12/2022€15.830
23/12/2022€15.793
22/12/2022€15.860
21/12/2022€15.853
20/12/2022€15.909
19/12/2022€15.490
18/12/2022€15.814
17/12/2022€15.852
16/12/2022€15.716
15/12/2022€16.305
14/12/2022€16.674
13/12/2022€16.722
12/12/2022€16.318
11/12/2022€16.247
10/12/2022€16.254
09/12/2022€16.258
08/12/2022€16.319
07/12/2022€16.023
06/12/2022€16.324
05/12/2022€16.166
04/12/2022€16.242
03/12/2022€16.043
02/12/2022€16.224
01/12/2022€16.128
30/11/2022€16.474
29/11/2022€15.926
28/11/2022€15.668
27/11/2022€15.837
26/11/2022€15.816
25/11/2022€15.863
24/11/2022€15.939
23/11/2022€15.933
22/11/2022€15.714
21/11/2022€15.382
20/11/2022€15.739
19/11/2022€16.146
18/11/2022€16.159
17/11/2022€16.099
16/11/2022€16.028
15/11/2022€16.300
14/11/2022€16.086
13/11/2022€15.806
12/11/2022€16.262
11/11/2022€16.487
10/11/2022€17.273
09/11/2022€15.881
08/11/2022€18.455
07/11/2022€20.570
06/11/2022€21.088
05/11/2022€21.401
04/11/2022€21.253
03/11/2022€20.730
02/11/2022€20.536
01/11/2022€20.746
31/10/2022€20.733
30/10/2022€20.726
29/10/2022€20.881
28/10/2022€20.682
27/10/2022€20.359
26/10/2022€20.581
25/10/2022€20.157
24/10/2022€19.558
23/10/2022€19.838
22/10/2022€19.481
21/10/2022€19.441
20/10/2022€19.479
19/10/2022€19.587
18/10/2022€19.606
17/10/2022€19.866
16/10/2022€19.780
15/10/2022€19.635
14/10/2022€19.734
13/10/2022€19.848
12/10/2022€19.733
11/10/2022€19.647
10/10/2022€19.702
09/10/2022€19.977
08/10/2022€19.948
07/10/2022€20.059
06/10/2022€20.386
05/10/2022€20.348
04/10/2022€20.379
03/10/2022€19.962
02/10/2022€19.461
01/10/2022€19.714
30/09/2022€19.821
29/09/2022€19.935
28/09/2022€19.994
27/09/2022€19.894
26/09/2022€19.991
25/09/2022€19.412
24/09/2022€19.515
23/09/2022€19.897
22/09/2022€19.718
21/09/2022€18.802
20/09/2022€18.937
19/09/2022€19.491
18/09/2022€19.383
17/09/2022€20.098
16/09/2022€19.783
15/09/2022€19.736
14/09/2022€20.268
13/09/2022€20.225
12/09/2022€22.110
11/09/2022€21.681
10/09/2022€21.540
09/09/2022€21.203
08/09/2022€19.305
07/09/2022€19.297
06/09/2022€18.994
05/09/2022€19.893
04/09/2022€20.172
03/09/2022€19.929
02/09/2022€20.061
01/09/2022€20.220
31/08/2022€19.981
30/08/2022€19.755
29/08/2022€20.286
28/08/2022€19.691
27/08/2022€20.132
26/08/2022€20.335
25/08/2022€21.636
24/08/2022€21.438
23/08/2022€21.596
22/08/2022€21.535
21/08/2022€21.459
20/08/2022€21.075
19/08/2022€20.755
18/08/2022€22.989
17/08/2022€22.940
16/08/2022€23.462
15/08/2022€23.715
14/08/2022€23.722
13/08/2022€23.844
12/08/2022€23.784
11/08/2022€23.221
10/08/2022€23.271
09/08/2022€22.693
08/08/2022€23.363
07/08/2022€22.793
06/08/2022€22.537
05/08/2022€22.900
04/08/2022€22.098
03/08/2022€22.483
02/08/2022€22.638
01/08/2022€22.694
31/07/2022€22.847
30/07/2022€23.148
29/07/2022€23.255
28/07/2022€23.402
27/07/2022€22.497
26/07/2022€21.004
25/07/2022€20.841
24/07/2022€22.147
23/07/2022€22.011
22/07/2022€22.235
21/07/2022€22.649
20/07/2022€22.812
19/07/2022€22.872
18/07/2022€22.129
17/07/2022€20.585
16/07/2022€21.018
15/07/2022€20.651
14/07/2022€20.516
13/07/2022€20.183
12/07/2022€19.263
11/07/2022€19.836
10/07/2022€20.491
09/07/2022€21.202
08/07/2022€21.206
07/07/2022€21.267
06/07/2022€20.170
05/07/2022€19.651
04/07/2022€19.370
03/07/2022€18.496
02/07/2022€18.448
01/07/2022€18.468
30/06/2022€19.026
29/06/2022€19.225
28/06/2022€19.252
27/06/2022€19.573
26/06/2022€19.912
25/06/2022€20.372
24/06/2022€20.103
23/06/2022€20.046
22/06/2022€18.893
21/06/2022€19.664
20/06/2022€19.545
19/06/2022€19.617
18/06/2022€18.094
17/06/2022€19.487
16/06/2022€19.340
15/06/2022€21.593
14/06/2022€21.203
13/06/2022€21.584
12/06/2022€25.329
11/06/2022€27.021
10/06/2022€27.653
09/06/2022€28.331
08/06/2022€28.178
07/06/2022€29.075
06/06/2022€29.333
05/06/2022€27.892
04/06/2022€27.868
03/06/2022€27.717
02/06/2022€28.326
01/06/2022€27.969
31/05/2022€29.609
30/05/2022€29.446
29/05/2022€27.454
28/05/2022€27.047
27/05/2022€26.643
26/05/2022€27.210
25/05/2022€27.626
24/05/2022€27.614
23/05/2022€27.230
22/05/2022€28.640
21/05/2022€27.852
20/05/2022€27.644
19/05/2022€28.640
18/05/2022€27.394
17/05/2022€28.849
16/05/2022€28.593
15/05/2022€30.099
14/05/2022€28.905
13/05/2022€28.121
12/05/2022€27.875
11/05/2022€27.550
10/05/2022€29.458
09/05/2022€28.475
08/05/2022€32.340
07/05/2022€33.660
06/05/2022€34.168
05/05/2022€34.697
04/05/2022€37.372
03/05/2022€35.877
02/05/2022€36.656
01/05/2022€36.501
30/04/2022€35.763
29/04/2022€36.617
28/04/2022€37.849
27/04/2022€37.172
26/04/2022€35.845
25/04/2022€37.747
24/04/2022€36.529
23/04/2022€36.584
22/04/2022€36.822
21/04/2022€37.393
20/04/2022€38.147
19/04/2022€38.475
18/04/2022€37.899
17/04/2022€36.733
16/04/2022€37.410
15/04/2022€37.567
14/04/2022€36.930
13/04/2022€37.779
12/04/2022€37.040
11/04/2022€36.337
10/04/2022€38.742
09/04/2022€39.365
08/04/2022€38.895
07/04/2022€39.997
06/04/2022€39.635
05/04/2022€41.731
04/04/2022€42.468
03/04/2022€42.041
02/04/2022€41.489
01/04/2022€41.919
31/03/2022€41.118
30/03/2022€42.166
29/03/2022€42.782
28/03/2022€42.864
27/03/2022€42.649
26/03/2022€40.575
25/03/2022€40.366
24/03/2022€39.975
23/03/2022€38.983
22/03/2022€38.427
21/03/2022€37.256
20/03/2022€37.373
19/03/2022€38.195
18/03/2022€37.804
17/03/2022€36.903
16/03/2022€37.315
15/03/2022€35.854
14/03/2022€36.278
13/03/2022€34.638
12/03/2022€35.607
11/03/2022€35.522
10/03/2022€35.832
09/03/2022€37.894
08/03/2022€35.569
07/03/2022€35.008
06/03/2022€35.331
05/03/2022€36.067
04/03/2022€35.822
03/03/2022€38.372
02/03/2022€39.521
01/03/2022€39.932
28/02/2022€38.509
27/02/2022€33.739
26/02/2022€34.727
 
Ultima modifica da un moderatore:

finmat92

Utente Attivo
195
192
CPU
RYZEN 5 5600X
Dissipatore
SCYTHE FUMA 2
Scheda Madre
MSI B550 TOMAHAWK
HDD
1 TB 7200RPM + 1 TB XPG SX8200PRO
RAM
CRUCIAL BALLSTRIX DDR4 3600 MHZ 2X8 GB
GPU
MSI NVIDIA GAMING Z TRIO RTX 3070
Audio
INTEGRATO
Monitor
SAMSUNG T23C350
PSU
CORSAIR TX750M
Case
FRACTAL MESHIFY S2
Periferiche
CORSAIR K68
Net
TIM FTTC 200 Mbps
OS
WINDOWS 10 PRO
Ciao a tutti Perchè il seguente programma in python non mi si apre e non mi da il risultato per cui è stato programmato

eccovi il codice

Python:
import pandas as pd
from sklearn.linear_model import LinearRegression

# Caricamento dei dati storici dei prezzi
df = pd.read_csv('prezzi.csv')

# Suddivisione dei dati in dati di addestramento e dati di test
train_data = df.iloc[:-30, :]
test_data = df.iloc[-30:, :]

# Creazione del modello di regressione lineare
lr_model = LinearRegression()

# Addestramento del modello sui dati di addestramento
lr_model.fit(train_data[['Prezzo Passato 1', 'Prezzo Passato 2']], train_data['Prezzo'])

# Utilizzo del modello per prevedere i prezzi futuri
future_prices = lr_model.predict(test_data[['Prezzo Passato 1', 'Prezzo Passato 2']])

# Stampa dei prezzi futuri previsti
print(future_prices)

Sembra essere un problema di statistica e predizione con regressione lineare, con il codice così scritto quando vado a stampare il contenuto di df, train_data e test_data mi esce (riporto qui solo df per comodità):

29/03/2023\t€26.062 0 28/03/2023\t€25.175 1 27/03/2023\t€25.167 2 26/03/2023\t€26.019 3 25/03/2023\t€25.630 4 24/03/2023\t€25.617 .. ... 391 02/03/2022\t€39.521 392 01/03/2022\t€39.932 393 28/02/2022\t€38.509 394 27/02/2022\t€33.739 395 26/02/2022\t€34.727 [396 rows x 1 columns]

Il quale non mi risulta molto leggibile, ma va beh, dopodichè alla linea dove chiami il metodo fit di lr_model chiedi di leggere 2 colonne, ossia Prezzo Passato 1 e Prezzo Passato 2 in train_data quando c'è una sola colonna visto che hai registrato l'intera riga come una singola stringa anzichè dividere data e prezzo.
E credo che sia qui che l'interprete si arrabbi.
Una possibile soluzione parziale per impostare i dati potrebbe essere:

Python:
import pandas as pd
import re
from sklearn.linear_model import LinearRegression

# Caricamento dei dati storici dei prezzi
f = open('prezzi.csv')
data = []
# Separazione delle righe lette per ottenere date e prezzi accoppiati.
for line in f:
    item = line.split('\t')
    # Eliminazione simboli speciali come l'euro, i punti e il \n
    item[1] = re.sub(r'[^0-9]', '', str(item[1]))
    data.append((item[0], item[1]))
# Creazione del DataFrame e suo popolamento.
prezzi = pd.DataFrame(data, columns = ['data','prezzo'])
# Suddivisione dei dati in dati di addestramento e dati di test
train_data = prezzi.iloc[:-30, :]
test_data = prezzi.iloc[-30:, :]

Poi, però, mi perdo perchè non riesco a capire come vorresti impostare il train_data che dovrebbe avere due colonne Prezzo Passato 1 e Prezzo Passato 2...
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!