Rumah >pembangunan bahagian belakang >Tutorial Python >Panduan untuk membangunkan aplikasi ramalan cuaca berdasarkan Django Prophet
Panduan pembangunan aplikasi ramalan cuaca berdasarkan Django Prophet
Pengenalan:
Ramalan cuaca adalah sangat penting dalam kehidupan seharian manusia. , ramalan cuaca yang tepat boleh membantu orang ramai membuat keputusan seperti perancangan perjalanan, penanaman tanaman dan penghantaran tenaga. Artikel ini akan memperkenalkan cara menggunakan Django Prophet untuk membangunkan aplikasi ramalan cuaca yang boleh meramal cuaca masa depan berdasarkan data cuaca sejarah.
1 Persediaan
Sebelum memulakan pembangunan, kita perlu menyediakan persekitaran dan alatan berikut:
django-admin startproject weather_forecast
cd weather_forecast
python manage.py startapp forecast#🎜🎜🎜#🎜🎜🎜🎜🎜🎜 # dalam projek Tambah aplikasi dalam fail settings.py:
INSTALLED_APPS = [ ... 'forecast', ... ]
3. Tentukan model data
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
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 runserverLawati http://localhost:8000/import/ dalam penyemak imbas untuk mengimport data cuaca sejarah.
Atas ialah kandungan terperinci Panduan untuk membangunkan aplikasi ramalan cuaca berdasarkan Django Prophet. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!