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

王林
Libérer: 2023-09-26 12:01:45
original
1321 Les gens l'ont consulté

基于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
    Copier après la connexion
  4. Entrez le répertoire du projet :
  5. cd weather_forecast
    Copier après la connexion

Créez une nouvelle application Django :
    python manage.py startapp forecast
    Copier après la connexion
  1. Ajoutez l'application dans le fichier settings.py du projet :
  2. INSTALLED_APPS = [
     ...
     'forecast',
     ...
    ]
    Copier après la connexion
  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)
    Copier après la connexion
  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
    Copier après la connexion

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')
    Copier après la connexion

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'),
 ...
]
Copier après la connexion

  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})
    Copier après la connexion
  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'),
     ...
    ]
    Copier après la connexion

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>
    Copier après la connexion
  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>
    Copier après la connexion

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
    Copier après la connexion
  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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!