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é 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 :
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
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.
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
Visitez http dans le navigateur ://localhost:8000/import/ pour importer des données météorologiques historiques.
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!