Django Prophet に基づく天気予報アプリケーション開発ガイド
はじめに:
天気予報は人々の日常生活の非常に重要な部分です。正確な天気予報は人々を助けることができます。旅行の計画、作物の植え付け、エネルギーの供給などの決定を下します。この記事では、Django Prophet を使用して、過去の気象データに基づいて将来の天気を予測できる天気予報アプリケーションを開発する方法を紹介します。
1. 準備作業
開発を開始する前に、次の環境とツールを準備する必要があります:
2. Django プロジェクトの作成
コマンド ラインで次のコマンドを実行して、新しい Django プロジェクトを作成します:
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
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'), ... ]
# # 6. テンプレート ファイルを作成します
<!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
天気予報については http://localhost:8000/predict/ にアクセスすると、予測結果がページに表示されます。
以上がDjango Prophet に基づく天気予報アプリケーション開発ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。