Commit
·
7052bfa
1
Parent(s):
51cc1d7
WORKINNGG
Browse files- adjusted_predictions_O3_NO2.csv +0 -59
- pages/admin.py +2 -2
- past_weather_data.csv +2 -1
- pollution_data.csv +1 -0
- prediction_history.csv +0 -55
- predictions_history.csv +54 -0
- src/data_api_calls.py +9 -0
- src/features_pipeline.py +2 -1
- src/past_data_api_calls.py +2 -2
- src/predict.py +3 -3
- weather_data.csv +1 -14
adjusted_predictions_O3_NO2.csv
DELETED
@@ -1,59 +0,0 @@
|
|
1 |
-
pollutant,date_predicted,date,prediction_value
|
2 |
-
O3,2024-10-14,2024-10-17,37.50407
|
3 |
-
NO2,2024-10-14,2024-10-17,31.70604
|
4 |
-
O3,2024-10-15,2024-10-17,24.20011
|
5 |
-
NO2,2024-10-15,2024-10-17,31.45461
|
6 |
-
O3,2024-10-16,2024-10-17,9.6575
|
7 |
-
NO2,2024-10-16,2024-10-17,17.0652
|
8 |
-
O3,2024-10-15,2024-10-18,7.87344
|
9 |
-
NO2,2024-10-15,2024-10-18,31.73243
|
10 |
-
O3,2024-10-16,2024-10-18,21.76064
|
11 |
-
NO2,2024-10-16,2024-10-18,40.0994
|
12 |
-
O3,2024-10-17,2024-10-18,16.0884
|
13 |
-
NO2,2024-10-17,2024-10-18,32.0458
|
14 |
-
O3,2024-10-16,2024-10-19,28.83768
|
15 |
-
NO2,2024-10-16,2024-10-19,24.10068
|
16 |
-
O3,2024-10-17,2024-10-19,23.13454
|
17 |
-
NO2,2024-10-17,2024-10-19,29.79229
|
18 |
-
O3,2024-10-17,2024-10-19,22.53339
|
19 |
-
NO2,2024-10-17,2024-10-19,26.22730
|
20 |
-
O3,2024-10-18,2024-10-19,22.3045
|
21 |
-
NO2,2024-10-18,2024-10-19,20.8002
|
22 |
-
O3,2024-10-18,2024-10-20,31.34.37874
|
23 |
-
NO2,2024-10-18,2024-10-20,32.70553
|
24 |
-
O3,2024-10-18,2024-10-20,31.54536
|
25 |
-
NO2,2024-10-18,2024-10-20,38.55104
|
26 |
-
O3,2024-10-19,2024-10-20,26.4217
|
27 |
-
NO2,2024-10-19,2024-10-20,27.3999
|
28 |
-
O3,2024-10-19,2024-10-20,17.0652
|
29 |
-
NO2,2024-10-19,2024-10-20,18.9924
|
30 |
-
O3,2024-10-19,2024-10-21,19.13648
|
31 |
-
NO2,2024-10-19,2024-10-21,25.13566
|
32 |
-
O3,2024-10-19,2024-10-21,24.20011
|
33 |
-
NO2,2024-10-19,2024-10-21,20.09909
|
34 |
-
O3,2024-10-20,2024-10-21,29.0094
|
35 |
-
NO2,2024-10-20,2024-10-21,19.5074
|
36 |
-
O3,2024-10-20,2024-10-21,20.0621
|
37 |
-
NO2,2024-10-20,2024-10-21,23.6575
|
38 |
-
O3,2024-10-20,2024-10-22,19.24714
|
39 |
-
NO2,2024-10-20,2024-10-22,31.45461
|
40 |
-
O3,2024-10-21,2024-10-22,16.52
|
41 |
-
NO2,2024-10-21,2024-10-22,30.1924
|
42 |
-
O3,2024-10-21,2024-10-23,31.01934
|
43 |
-
NO2,2024-10-21,2024-10-23,19.74775
|
44 |
-
O3,2024-10-21,2024-10-23,17.70241
|
45 |
-
NO2,2024-10-21,2024-10-23,27.73936
|
46 |
-
O3,2024-10-22,2024-10-24,25.96605
|
47 |
-
NO2,2024-10-22,2024-10-24,31.90517
|
48 |
-
O3,2024-10-22,2024-10-24,29.22139
|
49 |
-
NO2,2024-10-22,2024-10-24,22.16907
|
50 |
-
O3,2024-10-23,2024-10-24,9.0905
|
51 |
-
NO2,2024-10-23,2024-10-24,18.1749
|
52 |
-
O3,2024-10-23,2024-10-24,20.205
|
53 |
-
NO2,2024-10-23,2024-10-24,27.3349
|
54 |
-
O3,2024-10-24,2024-10-25,9.090494810363
|
55 |
-
NO2,2024-10-24,2024-10-25,18.174884683860732
|
56 |
-
O3,2024-10-24,2024-10-26,20.2050211414084
|
57 |
-
NO2,2024-10-24,2024-10-26,27.334877510848962
|
58 |
-
O3,2024-10-24,2024-10-27,16.31643675723712
|
59 |
-
NO2,2024-10-24,2024-10-27,23.015396915310056
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pages/admin.py
CHANGED
@@ -5,7 +5,7 @@ import streamlit as st
|
|
5 |
from sklearn.metrics import mean_squared_error
|
6 |
|
7 |
USERNAME = "dragonkiller"
|
8 |
-
PASSWORD = "
|
9 |
|
10 |
st.title("Admin Panel")
|
11 |
|
@@ -30,7 +30,7 @@ if not st.session_state.login_success:
|
|
30 |
else:
|
31 |
# Actual data vs 1,2,3 days ahead predictions
|
32 |
actual_data = pd.read_csv("pollution_data.csv")
|
33 |
-
prediction_data = pd.read_csv("
|
34 |
|
35 |
col1, col2 = st.columns(2)
|
36 |
with col1:
|
|
|
5 |
from sklearn.metrics import mean_squared_error
|
6 |
|
7 |
USERNAME = "dragonkiller"
|
8 |
+
PASSWORD = "donkey"
|
9 |
|
10 |
st.title("Admin Panel")
|
11 |
|
|
|
30 |
else:
|
31 |
# Actual data vs 1,2,3 days ahead predictions
|
32 |
actual_data = pd.read_csv("pollution_data.csv")
|
33 |
+
prediction_data = pd.read_csv("predictions_history.csv")
|
34 |
|
35 |
col1, col2 = st.columns(2)
|
36 |
with col1:
|
past_weather_data.csv
CHANGED
@@ -9,4 +9,5 @@ date,temp,humidity,precip,windspeed,sealevelpressure,visibility,solarradiation
|
|
9 |
2023-10-24,11.6,92.3,6.5,22.3,1001.3,23.1,32.6
|
10 |
2023-10-25,9.3,96.8,15.3,18.0,996.8,15.7,14.5
|
11 |
2023-10-26,9.4,97.6,0.1,11.2,995.6,4.8,36.0
|
12 |
-
2023-10-27,10.6,97.9,11.4,14.8,992,9.5,20.5
|
|
|
|
9 |
2023-10-24,11.6,92.3,6.5,22.3,1001.3,23.1,32.6
|
10 |
2023-10-25,9.3,96.8,15.3,18.0,996.8,15.7,14.5
|
11 |
2023-10-26,9.4,97.6,0.1,11.2,995.6,4.8,36.0
|
12 |
+
2023-10-27,10.6,97.9,11.4,14.8,992.0,9.5,20.5
|
13 |
+
2023-10-28,11.4,88.6,3,18.4,994.4,29.3,48.5
|
pollution_data.csv
CHANGED
@@ -7,3 +7,4 @@ date,NO2,O3
|
|
7 |
2024-10-22,21.776579804560274,23.33588571428572
|
8 |
2024-10-23,21.974793814433,22.21468879668051
|
9 |
2024-10-24,25.51256756756757,20.91370967741937
|
|
|
|
7 |
2024-10-22,21.776579804560274,23.33588571428572
|
8 |
2024-10-23,21.974793814433,22.21468879668051
|
9 |
2024-10-24,25.51256756756757,20.91370967741937
|
10 |
+
2024-10-25,21.72051282051282,22.33230769230769
|
prediction_history.csv
DELETED
@@ -1,55 +0,0 @@
|
|
1 |
-
pollutant,date_predicted,date,prediction_value
|
2 |
-
O3,2024-10-14,2024-10-17,31.253351852448926
|
3 |
-
NO2,2024-10-14,2024-10-17,26.421736787446267
|
4 |
-
O3,2024-10-15,2024-10-17,22.000057677604474
|
5 |
-
NO2,2024-10-15,2024-10-17,28.59511317503212
|
6 |
-
O3,2024-10-16,2024-10-17,9.657466070999735
|
7 |
-
NO2,2024-10-16,2024-10-17,17.065168790519902
|
8 |
-
O3,2024-10-15,2024-10-18,6.561248
|
9 |
-
NO2,2024-10-15,2024-10-18,26.443672
|
10 |
-
O3,2024-10-16,2024-10-18,19.782418
|
11 |
-
NO2,2024-10-16,2024-10-18,36.453956
|
12 |
-
O3,2024-10-17,2024-10-18,16.08841798553393
|
13 |
-
NO2,2024-10-17,2024-10-18,32.0458143607889
|
14 |
-
O3,2024-10-16,2024-10-19,24.031357603260783
|
15 |
-
NO2,2024-10-16,2024-10-19,20.083893955587914
|
16 |
-
O3,2024-10-17,2024-10-19,21.031357603260783
|
17 |
-
NO2,2024-10-17,2024-10-19,27.083893955587914
|
18 |
-
O3,2024-10-17,2024-10-20,20.484862479793236
|
19 |
-
NO2,2024-10-17,2024-10-20,23.84300578029378
|
20 |
-
O3,2024-10-18,2024-10-19,22.304547122637445
|
21 |
-
NO2,2024-10-18,2024-10-19,20.80017116560889
|
22 |
-
O3,2024-10-18,2024-10-20,31.253351852448926
|
23 |
-
NO2,2024-10-18,2024-10-20,29.732316066240582
|
24 |
-
O3,2024-10-18,2024-10-21,28.67755196805434
|
25 |
-
NO2,2024-10-18,2024-10-21,35.04638743773354
|
26 |
-
O3,2024-10-19,2024-10-20,26.421736787446267
|
27 |
-
NO2,2024-10-19,2024-10-20,27.399885723190767
|
28 |
-
O3,2024-10-19,2024-10-21,17.065168790519902
|
29 |
-
NO2,2024-10-19,2024-10-21,18.992352714813563
|
30 |
-
O3,2024-10-19,2024-10-22,17.39682962048955
|
31 |
-
NO2,2024-10-19,2024-10-22,22.850616758859076
|
32 |
-
O3,2024-10-20,2024-10-21,22.000057677604474
|
33 |
-
NO2,2024-10-20,2024-10-21,18.27191592927812
|
34 |
-
O3,2024-10-20,2024-10-22,29.00940466937953
|
35 |
-
NO2,2024-10-20,2024-10-22,19.507397669634972
|
36 |
-
O3,2024-10-20,2024-10-23,20.062134354543346
|
37 |
-
NO2,2024-10-20,2024-10-23,23.657466070999735
|
38 |
-
O3,2024-10-21,2024-10-22,17.497382318189132
|
39 |
-
NO2,2024-10-21,2024-10-22,28.59511317503212
|
40 |
-
O3,2024-10-21,2024-10-23,16.519952190354232
|
41 |
-
NO2,2024-10-21,2024-10-23,30.192389708351822
|
42 |
-
O3,2024-10-21,2024-10-24,28.199403851129034
|
43 |
-
NO2,2024-10-21,2024-10-24,17.9525039623211
|
44 |
-
O3,2024-10-22,2024-10-23,16.093074246425157
|
45 |
-
NO2,2024-10-22,2024-10-23,25.217639978187005
|
46 |
-
O3,2024-10-22,2024-10-24,23.605545201596552
|
47 |
-
NO2,2024-10-22,2024-10-24,29.004701753536988
|
48 |
-
O3,2024-10-23,2024-10-24,26.56486295059828
|
49 |
-
NO2,2024-10-23,2024-10-24,20.153737337472574
|
50 |
-
O3,2024-10-24,2024-10-25,9.090494810363
|
51 |
-
NO2,2024-10-24,2024-10-25,18.174884683860732
|
52 |
-
O3,2024-10-24,2024-10-26,20.2050211414084
|
53 |
-
NO2,2024-10-24,2024-10-26,27.334877510848962
|
54 |
-
O3,2024-10-24,2024-10-27,16.31643675723712
|
55 |
-
NO2,2024-10-24,2024-10-27,23.015396915310056
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
predictions_history.csv
CHANGED
@@ -1,7 +1,61 @@
|
|
1 |
pollutant,date_predicted,date,prediction_value
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
O3,2024-10-24,2024-10-25,10.33808859423279
|
3 |
NO2,2024-10-24,2024-10-25,25.68519991558237
|
4 |
O3,2024-10-24,2024-10-26,16.000984317626852
|
5 |
NO2,2024-10-24,2024-10-26,25.760307451092384
|
6 |
O3,2024-10-24,2024-10-27,19.64377495640328
|
7 |
NO2,2024-10-24,2024-10-27,31.210576791105115
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
pollutant,date_predicted,date,prediction_value
|
2 |
+
O3,2024-10-14,2024-10-17,31.25335185244893
|
3 |
+
NO2,2024-10-14,2024-10-17,26.421736787446267
|
4 |
+
O3,2024-10-15,2024-10-17,22.00005767760448
|
5 |
+
NO2,2024-10-15,2024-10-17,28.59511317503212
|
6 |
+
O3,2024-10-16,2024-10-17,9.657466070999735
|
7 |
+
NO2,2024-10-16,2024-10-17,17.065168790519902
|
8 |
+
O3,2024-10-15,2024-10-18,6.561248
|
9 |
+
NO2,2024-10-15,2024-10-18,26.443672
|
10 |
+
O3,2024-10-16,2024-10-18,19.782418
|
11 |
+
NO2,2024-10-16,2024-10-18,36.453956
|
12 |
+
O3,2024-10-17,2024-10-18,16.08841798553393
|
13 |
+
NO2,2024-10-17,2024-10-18,32.0458143607889
|
14 |
+
O3,2024-10-16,2024-10-19,24.031357603260783
|
15 |
+
NO2,2024-10-16,2024-10-19,20.083893955587914
|
16 |
+
O3,2024-10-17,2024-10-19,21.031357603260783
|
17 |
+
NO2,2024-10-17,2024-10-19,27.083893955587914
|
18 |
+
O3,2024-10-17,2024-10-20,20.48486247979324
|
19 |
+
NO2,2024-10-17,2024-10-20,23.84300578029378
|
20 |
+
O3,2024-10-18,2024-10-19,22.304547122637445
|
21 |
+
NO2,2024-10-18,2024-10-19,20.80017116560889
|
22 |
+
O3,2024-10-18,2024-10-20,31.25335185244893
|
23 |
+
NO2,2024-10-18,2024-10-20,29.732316066240585
|
24 |
+
O3,2024-10-18,2024-10-21,28.67755196805434
|
25 |
+
NO2,2024-10-18,2024-10-21,35.04638743773354
|
26 |
+
O3,2024-10-19,2024-10-20,26.421736787446267
|
27 |
+
NO2,2024-10-19,2024-10-20,27.399885723190767
|
28 |
+
O3,2024-10-19,2024-10-21,17.065168790519902
|
29 |
+
NO2,2024-10-19,2024-10-21,18.992352714813563
|
30 |
+
O3,2024-10-19,2024-10-22,17.39682962048955
|
31 |
+
NO2,2024-10-19,2024-10-22,22.85061675885908
|
32 |
+
O3,2024-10-20,2024-10-21,22.00005767760448
|
33 |
+
NO2,2024-10-20,2024-10-21,18.27191592927812
|
34 |
+
O3,2024-10-20,2024-10-22,29.00940466937953
|
35 |
+
NO2,2024-10-20,2024-10-22,19.50739766963497
|
36 |
+
O3,2024-10-20,2024-10-23,20.062134354543343
|
37 |
+
NO2,2024-10-20,2024-10-23,23.65746607099973
|
38 |
+
O3,2024-10-21,2024-10-22,17.497382318189132
|
39 |
+
NO2,2024-10-21,2024-10-22,28.59511317503212
|
40 |
+
O3,2024-10-21,2024-10-23,16.519952190354232
|
41 |
+
NO2,2024-10-21,2024-10-23,30.192389708351826
|
42 |
+
O3,2024-10-21,2024-10-24,28.19940385112904
|
43 |
+
NO2,2024-10-21,2024-10-24,17.9525039623211
|
44 |
+
O3,2024-10-22,2024-10-23,16.093074246425157
|
45 |
+
NO2,2024-10-22,2024-10-23,25.217639978187005
|
46 |
+
O3,2024-10-22,2024-10-24,23.605545201596552
|
47 |
+
NO2,2024-10-22,2024-10-24,29.004701753536988
|
48 |
+
O3,2024-10-23,2024-10-24,26.56486295059828
|
49 |
+
NO2,2024-10-23,2024-10-24,20.15373733747257
|
50 |
O3,2024-10-24,2024-10-25,10.33808859423279
|
51 |
NO2,2024-10-24,2024-10-25,25.68519991558237
|
52 |
O3,2024-10-24,2024-10-26,16.000984317626852
|
53 |
NO2,2024-10-24,2024-10-26,25.760307451092384
|
54 |
O3,2024-10-24,2024-10-27,19.64377495640328
|
55 |
NO2,2024-10-24,2024-10-27,31.210576791105115
|
56 |
+
O3,2024-10-25,2024-10-26,20.48055947200643
|
57 |
+
NO2,2024-10-25,2024-10-26,23.957239039864238
|
58 |
+
O3,2024-10-25,2024-10-27,11.088152958498888
|
59 |
+
NO2,2024-10-25,2024-10-27,32.274494671100506
|
60 |
+
O3,2024-10-25,2024-10-28,-0.7175631399505704
|
61 |
+
NO2,2024-10-25,2024-10-28,40.86107800019054
|
src/data_api_calls.py
CHANGED
@@ -118,6 +118,11 @@ def get_combined_data():
|
|
118 |
update_pollution_data()
|
119 |
|
120 |
weather_df = pd.read_csv(WEATHER_DATA_FILE)
|
|
|
|
|
|
|
|
|
|
|
121 |
|
122 |
weather_df.insert(1, "NO2", None)
|
123 |
weather_df.insert(2, "O3", None)
|
@@ -163,6 +168,10 @@ def get_combined_data():
|
|
163 |
combined_df["global_radiation"] = combined_df["global_radiation"].astype(int)
|
164 |
|
165 |
pollution_df = pd.read_csv(POLLUTION_DATA_FILE)
|
|
|
|
|
|
|
|
|
166 |
combined_df["NO2"] = pollution_df["NO2"]
|
167 |
combined_df["O3"] = pollution_df["O3"]
|
168 |
|
|
|
118 |
update_pollution_data()
|
119 |
|
120 |
weather_df = pd.read_csv(WEATHER_DATA_FILE)
|
121 |
+
|
122 |
+
today = pd.Timestamp.now().normalize()
|
123 |
+
seven_days_ago = today - pd.Timedelta(days=7)
|
124 |
+
weather_df["date"] = pd.to_datetime(weather_df["date"])
|
125 |
+
weather_df = weather_df[(weather_df["date"] >= seven_days_ago) & (weather_df["date"] <= today)]
|
126 |
|
127 |
weather_df.insert(1, "NO2", None)
|
128 |
weather_df.insert(2, "O3", None)
|
|
|
168 |
combined_df["global_radiation"] = combined_df["global_radiation"].astype(int)
|
169 |
|
170 |
pollution_df = pd.read_csv(POLLUTION_DATA_FILE)
|
171 |
+
|
172 |
+
pollution_df["date"] = pd.to_datetime(pollution_df["date"])
|
173 |
+
pollution_df = pollution_df[(pollution_df["date"] >= seven_days_ago) & (pollution_df["date"] <= today)]
|
174 |
+
|
175 |
combined_df["NO2"] = pollution_df["NO2"]
|
176 |
combined_df["O3"] = pollution_df["O3"]
|
177 |
|
src/features_pipeline.py
CHANGED
@@ -77,7 +77,8 @@ def create_features(
|
|
77 |
data = data.dropna().reset_index(drop=True)
|
78 |
rows_after = data.shape[0]
|
79 |
rows_dropped = rows_before - rows_after
|
80 |
-
print(f"Number of rows with missing values dropped: {rows_dropped}")
|
|
|
81 |
|
82 |
# Ensure the data is sorted by date in ascending order
|
83 |
data = data.sort_values("date").reset_index(drop=True)
|
|
|
77 |
data = data.dropna().reset_index(drop=True)
|
78 |
rows_after = data.shape[0]
|
79 |
rows_dropped = rows_before - rows_after
|
80 |
+
print(f"Number of rows with missing values dropped: {rows_dropped}/{rows_before}")
|
81 |
+
print(data)
|
82 |
|
83 |
# Ensure the data is sorted by date in ascending order
|
84 |
data = data.sort_values("date").reset_index(drop=True)
|
src/past_data_api_calls.py
CHANGED
@@ -136,8 +136,8 @@ def get_past_combined_data():
|
|
136 |
combined_df = pd.read_csv(PAST_WEATHER_DATA_FILE)
|
137 |
pollution_data = pd.read_csv(PAST_POLLUTION_DATA_FILE)
|
138 |
|
139 |
-
combined_df
|
140 |
-
combined_df
|
141 |
|
142 |
# Apply scaling and renaming similar to the scale function from previous code
|
143 |
combined_df = combined_df.rename(
|
|
|
136 |
combined_df = pd.read_csv(PAST_WEATHER_DATA_FILE)
|
137 |
pollution_data = pd.read_csv(PAST_POLLUTION_DATA_FILE)
|
138 |
|
139 |
+
combined_df = combined_df.merge(pollution_data, on="date", how="inner")
|
140 |
+
combined_df = combined_df.tail(11)
|
141 |
|
142 |
# Apply scaling and renaming similar to the scale function from previous code
|
143 |
combined_df = combined_df.rename(
|
src/predict.py
CHANGED
@@ -47,7 +47,7 @@ def get_data_and_predictions():
|
|
47 |
prediction_data.append(
|
48 |
{
|
49 |
"pollutant": "O3",
|
50 |
-
"
|
51 |
"date": date.today() + timedelta(days=i + 1),
|
52 |
"prediction_value": o3_predictions[0][i],
|
53 |
}
|
@@ -55,7 +55,7 @@ def get_data_and_predictions():
|
|
55 |
prediction_data.append(
|
56 |
{
|
57 |
"pollutant": "NO2",
|
58 |
-
"
|
59 |
"date": date.today() + timedelta(days=i + 1),
|
60 |
"prediction_value": no2_predictions[0][i],
|
61 |
}
|
@@ -67,7 +67,7 @@ def get_data_and_predictions():
|
|
67 |
existing_data = pd.read_csv(PREDICTIONS_FILE)
|
68 |
# Filter out predictions made today to avoid duplicates
|
69 |
existing_data = existing_data[
|
70 |
-
~(existing_data["
|
71 |
]
|
72 |
combined_data = pd.concat([existing_data, predictions_df])
|
73 |
else:
|
|
|
47 |
prediction_data.append(
|
48 |
{
|
49 |
"pollutant": "O3",
|
50 |
+
"date_predicted": date.today(),
|
51 |
"date": date.today() + timedelta(days=i + 1),
|
52 |
"prediction_value": o3_predictions[0][i],
|
53 |
}
|
|
|
55 |
prediction_data.append(
|
56 |
{
|
57 |
"pollutant": "NO2",
|
58 |
+
"date_predicted": date.today(),
|
59 |
"date": date.today() + timedelta(days=i + 1),
|
60 |
"prediction_value": no2_predictions[0][i],
|
61 |
}
|
|
|
67 |
existing_data = pd.read_csv(PREDICTIONS_FILE)
|
68 |
# Filter out predictions made today to avoid duplicates
|
69 |
existing_data = existing_data[
|
70 |
+
~(existing_data["date_predicted"] == str(date.today()))
|
71 |
]
|
72 |
combined_data = pd.concat([existing_data, predictions_df])
|
73 |
else:
|
weather_data.csv
CHANGED
@@ -1,18 +1,4 @@
|
|
1 |
date,temp,humidity,precip,windspeed,sealevelpressure,visibility,solarradiation
|
2 |
-
2024-10-03,9.9,78.9,0.0,25.9,1020.0,44.0,81.8
|
3 |
-
2024-10-04,7.7,86.2,0.0,11.2,1022.0,25.0,86.3
|
4 |
-
2024-10-05,8.0,83.2,0.0,14.8,1019.0,26.0,76.5
|
5 |
-
2024-10-06,10.0,82.7,0.0,25.9,1007.7,36.5,77.2
|
6 |
-
2024-10-07,15.3,81.0,0.4,22.3,1000.8,37.5,65.6
|
7 |
-
2024-10-08,16.0,83.4,0.6,18.4,997.4,40.0,55.6
|
8 |
-
2024-10-09,14.2,88.3,1.0,22.3,990.1,37.2,38.2
|
9 |
-
2024-10-10,12.3,83.6,1.0,18.4,997.3,28.2,52.5
|
10 |
-
2024-10-11,8.5,84.4,1.0,14.8,1015.3,36.1,62.9
|
11 |
-
2024-10-12,7.8,89.4,0.0,21.6,1011.3,25.5,49.3
|
12 |
-
2024-10-13,10.5,75.8,3.7,18.4,1013.2,36.8,49.9
|
13 |
-
2024-10-14,7.9,89.8,0.0,10.8,1018.3,24.3,44.1
|
14 |
-
2024-10-15,8.7,86.9,0.0,18.4,1019.4,29.0,71.2
|
15 |
-
2024-10-16,15.1,82.2,0.0,22.3,1010.3,35.8,40.8
|
16 |
2024-10-17,16.9,86.0,0.6,18.4,1010.0,37.1,43.0
|
17 |
2024-10-18,15.5,97.3,3.9,7.6,1014.0,4.5,42.9
|
18 |
2024-10-19,14.7,89.9,1.6,14.8,1014.1,22.8,43.5
|
@@ -21,3 +7,4 @@ date,temp,humidity,precip,windspeed,sealevelpressure,visibility,solarradiation
|
|
21 |
2024-10-22,11.4,92.8,4.9,19.4,1026.9,22.6,57.0
|
22 |
2024-10-23,11.2,97.3,0.0,13.0,1032.8,6.5,12.5
|
23 |
2024-10-24,10.4,94.0,0.0,20.5,1024.7,13.0,62.5
|
|
|
|
1 |
date,temp,humidity,precip,windspeed,sealevelpressure,visibility,solarradiation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
2024-10-17,16.9,86.0,0.6,18.4,1010.0,37.1,43.0
|
3 |
2024-10-18,15.5,97.3,3.9,7.6,1014.0,4.5,42.9
|
4 |
2024-10-19,14.7,89.9,1.6,14.8,1014.1,22.8,43.5
|
|
|
7 |
2024-10-22,11.4,92.8,4.9,19.4,1026.9,22.6,57.0
|
8 |
2024-10-23,11.2,97.3,0.0,13.0,1032.8,6.5,12.5
|
9 |
2024-10-24,10.4,94.0,0.0,20.5,1024.7,13.0,62.5
|
10 |
+
2024-10-25,13.6,92.2,0.5,11.9,1016.8,24.0,93.0
|