Maison >développement back-end >Tutoriel Python >Guide de développement d'applications de prévisions météorologiques basées sur Django Prophet

Guide de développement d'applications de prévisions météorologiques basées sur Django Prophet

王林
王林original
2023-09-26 12:01:451364parcourir

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

Guide de développement d'applications de prévisions météorologiques basé sur Django Prophet

Introduction :
Les prévisions météorologiques sont une partie très importante de la vie quotidienne des gens. Des prévisions météorologiques précises peuvent aider les gens à planifier leur voyage, à planter leurs cultures, à répartir leur énergie et à prendre d'autres décisions. Cet article explique comment utiliser Django Prophet pour développer une application de prévisions météorologiques capable de prédire la météo future sur la base de données météorologiques historiques.

1. Préparation
Avant de commencer le développement, nous devons préparer l'environnement et les outils suivants :

  1. Python 3. , Créer un projet Django
  2. Exécutez la commande suivante dans la ligne de commande pour créer un nouveau projet Django :
  3. django-admin startproject weather_forecast
  4. Entrez le répertoire du projet :
  5. cd weather_forecast

Créez une nouvelle application Django :
    python manage.py startapp forecast
  1. Ajoutez l'application dans le fichier settings.py du projet :
  2. INSTALLED_APPS = [
     ...
     'forecast',
     ...
    ]
  3. 3. Définissez le modèle de données
  4. Définissez un modèle météo dans le fichier models.py de l'application de prévisions, qui contient la date, la température minimale et la température maximale. Autres champs :
  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. Exécutez la commande suivante dans la ligne de commande pour créer une table de base de données :
  7. python manage.py makemigrations
    python manage.py migrate

IV. Importer des données météorologiques historiques
  1. Créez un fichier météo.csv dans le répertoire racine du projet pour stocker les données météorologiques historiques. Les données doivent contenir des champs tels que la date, la température minimale, la température maximale, l'humidité, etc.

  2. Écrivez une fonction de vue qui importe les données dans le fichier views.py de l'application de prévision :

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

Ajoutez un mappage d'URL qui importe les données dans le fichier urls.py du projet :

from django.urls import path
from forecast import views

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

  1. 5. Utilisez Prophet pour les prévisions météorologiques
  2. Écrivez une fonction d'affichage qui prédit la météo dans le fichier views.py de l'application de prévisions :
  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. Ajoutez un mappage d'URL qui prédit la météo dans le fichier urls.py du projet :
  5. from django.urls import path
    from forecast import views
    
    urlpatterns = [
     ...
     path('predict/', views.predict_weather, name='predict_weather'),
     ...
    ]

6. Créez un fichier modèle
  1. Créez un fichier import_data.html dans le répertoire templates de l'application de prévisions, une page d'importation des données météo historiques :
  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. Créez un fichier import_data.html dans le répertoire des modèles de l'application de prévision fichier predict_weather.html, utilisé pour afficher les résultats météorologiques prévus :
  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. Exécutez l'application
  1. Exécutez la commande suivante dans la ligne de commande pour démarrer le serveur de développement Django :
  2. python manage.py runserver
  3. Visitez http dans le navigateur ://localhost:8000/import/ pour importer des données météorologiques historiques.

  4. Visitez http://localhost:8000/predict/ pour les prévisions météorologiques, et les résultats des prévisions seront affichés sur la page.

Conclusion :
    Cet article présente comment utiliser Django Prophet pour développer une application de prévisions météo. En important des données météorologiques historiques et en utilisant le modèle Prophet pour la prévision, nous pouvons prédire le temps futur en fonction des conditions météorologiques passées. J'espère que cet article vous a été utile et vous a permis de mieux comprendre le développement d'applications de prévision météorologique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn