Entwicklungsleitfaden für Wettervorhersageanwendungen basierend auf Django Prophet
Einführung:
Die Wettervorhersage ist ein sehr wichtiger Teil des täglichen Lebens der Menschen und kann Menschen bei der Erstellung von Reiseplänen, beim Pflanzen von Pflanzen, bei der Energieverteilung und bei anderen Entscheidungen helfen. In diesem Artikel wird vorgestellt, wie Sie mit Django Prophet eine Wettervorhersageanwendung entwickeln, die zukünftiges Wetter auf der Grundlage historischer Wetterdaten vorhersagen kann.
1. Vorbereitung
Bevor wir mit der Entwicklung beginnen, müssen wir die folgende Umgebung und Tools vorbereiten:
django-admin startproject weather_forecast
cd weather_forecast
python manage.py startapp forecast
INSTALLED_APPS = [ ... 'forecast', ... ]
from django.db import models class Weather(models.Model): date = models.DateTimeField() min_temperature = models.FloatField() max_temperature = models.FloatField() humidity = models.FloatField() def __str__(self): return str(self.date)
python manage.py makemigrations python manage.py migrate
Erstellen Sie eine Weather.csv-Datei im Stammverzeichnis des Projekts zur Speicherung historischer Wetterdaten. Die Daten sollten Felder wie Datum, Mindesttemperatur, Höchsttemperatur, Luftfeuchtigkeit usw. enthalten.
from django.shortcuts import render import pandas as pd from .models import Weather def import_data(request): data = pd.read_csv('weather.csv') for index, row in data.iterrows(): weather = Weather( date=row['date'], min_temperature=row['min_temperature'], max_temperature=row['max_temperature'], humidity=row['humidity'] ) weather.save() return render(request, 'forecast/import_data.html')
from django.urls import path from forecast import views urlpatterns = [ ... path('import/', views.import_data, name='import_data'), ... ]
from django.shortcuts import render from .models import Weather from fbprophet import Prophet import pandas as pd def predict_weather(request): data = Weather.objects.all() df = pd.DataFrame(list(data.values())) df = df.rename(columns={'date': 'ds', 'max_temperature': 'y'}) model = Prophet() model.fit(df) future = model.make_future_dataframe(periods=365) forecast = model.predict(future) return render(request, 'forecast/predict_weather.html', {'forecast': forecast})
from django.urls import path from forecast import views urlpatterns = [ ... path('predict/', views.predict_weather, name='predict_weather'), ... ]
<!DOCTYPE html> <html> <head> <title>Import Data</title> </head> <body> <h1>Import Data</h1> <form action="{% url 'import_data' %}" method="POST"> {% csrf_token %} <input type="submit" value="Import"> </form> </body> </html>
<!DOCTYPE html> <html> <head> <title>Predict Weather</title> </head> <body> <h1>Predicted Weather</h1> <table> <thead> <tr> <th>Date</th> <th>Max Temperature (°C)</th> <th>Humidity</th> </tr> </thead> <tbody> {% for index, row in forecast.iterrows %} <tr> <td>{{ row['ds'] }}</td> <td>{{ row['yhat'] }}</td> <td>{{ row['humidity'] }}</td> </tr> {% endfor %} </tbody> </table> </body> </html>
python manage.py runserver
Besuchen Sie http im Browser ://localhost:8000/import/, um historische Wetterdaten zu importieren.
Das obige ist der detaillierte Inhalt vonLeitfaden zur Entwicklung von Wettervorhersageanwendungen basierend auf Django Prophet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!