Compare commits
3 Commits
a1aeb97e41
...
1697e4ba7f
Author | SHA1 | Date |
---|---|---|
Simon | 1697e4ba7f | |
Simon | 34d9124f7e | |
Simon | b964a344e8 |
|
@ -1,4 +1,4 @@
|
|||
FROM python:3.11.3-slim-bullseye
|
||||
FROM python:3.11.8-slim-bookworm
|
||||
|
||||
RUN apt-get clean && apt-get -y update && \
|
||||
apt-get -y install --no-install-recommends build-essential
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
APScheduler==3.10.4
|
||||
Flask==3.0.0
|
||||
Flask==3.0.2
|
||||
Flask_HTTPAuth==4.8.0
|
||||
ipython==8.19.0
|
||||
matplotlib==3.8.2
|
||||
numpy==1.26.3
|
||||
pandas==2.1.4
|
||||
ipython==8.22.2
|
||||
matplotlib==3.8.3
|
||||
numpy==1.26.4
|
||||
pandas==2.2.1
|
||||
psycopg2-binary==2.9.9
|
||||
requests==2.31.0
|
||||
scipy==1.11.4
|
||||
uWSGI==2.0.23
|
||||
scipy==1.12.0
|
||||
uWSGI==2.0.24
|
||||
|
|
|
@ -157,13 +157,13 @@ class LastSevenDays:
|
|||
mean['avg'] = mean['aqi'].resample('1d').mean()
|
||||
mean['avg'] = mean.avg.shift(6)
|
||||
# set first and last
|
||||
mean['avg'][0] = (mean['avg'].iloc[6] + mean['aqi'][0]) / 2
|
||||
mean['avg'][-1] = (mean['avg'].iloc[-6] + mean['aqi'][-1]) / 2
|
||||
mean.loc[mean.index[0], "avg"] = (mean['avg'].iloc[6] + mean['aqi'].iloc[0]) / 2
|
||||
mean.loc[mean.index[-1], "avg"] = (mean['avg'].iloc[-6] + mean['aqi'].iloc[-1]) / 2
|
||||
# smooth
|
||||
try:
|
||||
mean['avg'].interpolate(method='polynomial', order=3, inplace=True)
|
||||
mean["avg"] = mean["avg"].interpolate(method="polynomial", order=3)
|
||||
except ValueError:
|
||||
mean['avg'].interpolate(method='polynomial', order=1, inplace=True)
|
||||
mean["avg"] = mean["avg"].interpolate(method="polynomial", order=1)
|
||||
|
||||
mean.reset_index(level=0, inplace=True)
|
||||
mean['timestamp'] = mean['timestamp'].dt.strftime('%Y-%m-%d %H:%M')
|
||||
|
@ -524,10 +524,10 @@ class YearComparison:
|
|||
avg_change = 'nan'
|
||||
avg_row = ('avg 10 days', avg, y_avg, avg_change)
|
||||
# zip it
|
||||
y_2 = self.axis['y_2'].astype(object).fillna("nan")
|
||||
y_2_change = self.axis['change'].astype(object).fillna("nan")
|
||||
y_2 = self.axis['y_2'].astype(int).fillna("nan")
|
||||
y_2_change = self.axis['change'].astype(str).fillna("nan")
|
||||
zipped = zip(
|
||||
self.axis['x'], self.axis['y_1'].astype(object),
|
||||
self.axis['x'], self.axis['y_1'].astype(int),
|
||||
y_2, y_2_change
|
||||
)
|
||||
data_rows = list(zipped)
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
{% if title %}
|
||||
<title>AQI - {{ title }}</title>
|
||||
<title>LPB Air - {{ title }}</title>
|
||||
{% else %}
|
||||
<title>AQI</title>
|
||||
<title>Luang Prabang Air Quality</title>
|
||||
{% endif %}
|
||||
<link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}">
|
||||
<script src="{{ url_for('static', filename='js/lightbox.js') }}"></script>
|
||||
|
|
Loading…
Reference in New Issue