質問: 1時間刻みの年間データがあります。 このデータを1分刻みのデータとして補間したいですが、 23時までの内挿する方法しか分かりません。 23時01分から23時59分までの外挿方法について教えてください。 本当に基礎的な部分だと思いますが、いい方法が見つからないのでお願いいたします。 --- ``` df2=df.resample('1T').interpolate() ``` **対象の年間データ** ``` 0 2019-01-01 00:00:00 356 0.121 1 2019-01-01 01:00:00 326 0.196 2 2019-01-01 02:00:00 313 0.257 3 2019-01-01 03:00:00 307 0.265 4 2019-01-01 04:00:00 307 0.195 ... ... ... ... 8755 2019-12-31 19:00:00 55 0.151 8756 2019-12-31 20:00:00 28 0.090 8757 2019-12-31 21:00:00 348 0.036 8758 2019-12-31 22:00:00 205 0.047 8759 2019-12-31 23:00:00 179 0.140 ``` **実行結果** ``` 2019-01-01 00:00:00 356.000000 0.12100 2019-01-01 00:01:00 355.500000 0.12225 2019-01-01 00:02:00 355.000000 0.12350 2019-01-01 00:03:00 354.500000 0.12475 2019-01-01 00:04:00 354.000000 0.12600 ... ... ... ... 2019-12-31 22:56:00 180.733333 0.13380 2019-12-31 22:57:00 180.300000 0.13535 2019-12-31 22:58:00 179.866667 0.13690 2019-12-31 22:59:00 179.433333 0.13845 2019-12-31 23:00:00 179.000000 0.14000 ```
回答: そもそも「外挿」で補間して良いデータなのでしょうか? 「23時までの内挿する方法しか」と書いてありますが、存在しないのは2019-12-31の1日だけの23時~24時の1時間であって、他の日のデータは存在します。 処理する時点では既に過去の記録なので、2020-01-01 00:00:00時点の実際のデータは存在しているはずです。 そのデータを無視して「外挿」しても意味は無いのでは? その最後の1時間分をシミュレーションして実際のデータと対比させてみる、とかなら有りかもしれませんが、それはそのシミュレーションプログラムをどう作るかという問題であって、客観的な解決法があるかは疑問です。 補間前のデータの最後に2020-01-01 00:00:00時点の実際のデータを1件追加してから補間すれば良いでしょう。 結果に2020-01-01 00:00:00のデータがあると、例えば次に行う処理で問題になるのであれば、結果からその1件だけ削除すれば良いでしょう。 年間データ(1年分)というくくりで言えば2020年は完了していないからデータは揃っていないので入手は出来ないでしょうが、1月1日のデータだけで良いのですから1月1日を含む月間/週間/1日のデータならば取得出来るのでは? それも駄目ならこちらのサイトで入手できるデータに切り替えるとか。それでプログラムの確認や調整は出来るでしょう。その間に2020年1月1日のデータを入手できるか探ってみるとか。 気象庁 | 過去の気象データ検索 / 気象庁 | 過去の気象データ・ダウンロード