Heim >Backend-Entwicklung >Python-Tutorial >Leitfaden zur Entwicklung von Wettervorhersageanwendungen basierend auf Django Prophet

Leitfaden zur Entwicklung von Wettervorhersageanwendungen basierend auf Django Prophet

王林
王林Original
2023-09-26 12:01:451364Durchsuche

基于Django Prophet的天气预测应用程序开发指南

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:

  1. Python 3. , Erstellen Sie ein Django-Projekt
  2. Führen Sie den folgenden Befehl in der Befehlszeile aus, um ein neues Django-Projekt zu erstellen:
  3. django-admin startproject weather_forecast
  4. Geben Sie das Projektverzeichnis ein:
  5. cd weather_forecast

Erstellen Sie eine neue Django-Anwendung:
    python manage.py startapp forecast
  1. Fügen Sie die Anwendung in der Datei „settings.py“ des Projekts hinzu:
  2. INSTALLED_APPS = [
     ...
     'forecast',
     ...
    ]
  3. 3. Definieren Sie die Datenmodell
  4. Definieren Sie ein Wettermodell in der Datei models.py der Vorhersageanwendung, das Datum, Mindesttemperatur und Höchsttemperatur enthält. Andere Felder:
  5. 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)
  6. Führen Sie den folgenden Befehl in der Befehlszeile aus, um eine Datenbanktabelle zu erstellen :
  7. python manage.py makemigrations
    python manage.py migrate

IV. Historische Wetterdaten importieren
  1. 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.

  2. Schreiben Sie eine Ansichtsfunktion, die Daten in die Datei „views.py“ der Prognoseanwendung importiert:

    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')

Fügen Sie eine URL-Zuordnung hinzu, die Daten in die Datei „urls.py“ des Projekts importiert:

from django.urls import path
from forecast import views

urlpatterns = [
 ...
 path('import/', views.import_data, name='import_data'),
 ...
]

  1. 5. Verwenden Sie Prophet für die Wettervorhersage.
  2. Schreiben Sie eine Ansichtsfunktion, die das Wetter in der Datei „views.py“ der Vorhersageanwendung vorhersagt:
  3. 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})
  4. Fügen Sie eine URL-Zuordnung hinzu, die das Wetter in der Datei „urls.py“ des Projekts vorhersagt :
  5. from django.urls import path
    from forecast import views
    
    urlpatterns = [
     ...
     path('predict/', views.predict_weather, name='predict_weather'),
     ...
    ]

6. Erstellen Sie eine Vorlagendatei
  1. Erstellen Sie eine import_data.html-Datei im Vorlagenverzeichnis der Vorhersageanwendung, eine Seite zum Importieren historischer Wetterdaten:
  2. <!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>
  3. Erstellen Sie eine import_data.html-Datei im Vorlagenverzeichnis der Vorhersageanwendungsdatei „predict_weather.html“, die zum Anzeigen vorhergesagter Wetterergebnisse verwendet wird:
  4. <!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>

7. Führen Sie die Anwendung aus
  1. Führen Sie den folgenden Befehl in der Befehlszeile aus, um den Django-Entwicklungsserver zu starten:
  2. python manage.py runserver
  3. Besuchen Sie http im Browser ://localhost:8000/import/, um historische Wetterdaten zu importieren.

  4. Besuchen Sie http://localhost:8000/predict/ für die Wettervorhersage. Die Vorhersageergebnisse werden auf der Seite angezeigt.

Fazit:
    In diesem Artikel wird erläutert, wie Sie mit Django Prophet eine Wettervorhersageanwendung entwickeln. Durch den Import historischer Wetterdaten und die Verwendung des Prophet-Modells zur Vorhersage können wir zukünftiges Wetter auf der Grundlage vergangener Wetterbedingungen vorhersagen. Ich hoffe, dieser Artikel war hilfreich und hat Ihnen ein tieferes Verständnis für die Entwicklung von Wettervorhersageanwendungen vermittelt.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn