日照時間で感じる季節の移り変わり - 2 - 2020 年の軽い EDA
前回は、国立天文台の「日の出入り」データを Beautiful Soup でお借りし、それを numpy / pandas 形式で整えるところまでやりました。
必要な日の出入りのデータをお借りすることはできるようになりましたが、そのたびにアクセスするのも先方に迷惑なので(?)、一年分まとめてお借りし、それを自分の computer に保存、その後いじくることとしました。
目次
1.2020 年一年分の日の出入りのデータをまとめて保存する
2.データの整形
3.簡単に見てみる
4.簡単に図示する
まとめ
1.2020 年一年分の日の出入りのデータをお借りし、保存する
データをまとめ、保存する方針と形式(と言うほどのものではないのですが)は、次のようにしました。
① 2020 年を一つのフォルダへまとめる。
② サイトのページをそのまま保存するイメージ。つまり、ファイル数は月数。
③ 保存ファイル形式は、 csv 形式。
前回は 1 ページ(つまり 1 か月分)のみ読み込むだけだったのですが、一年分まとめて読み込み、それを保存する、という形にしました。
2.データの整形
これで相手のサーバーに迷惑をかけることがなくなりました。
保存したファイルを読み込み、一年分まとめてデータフレーム(df20)にします。そして、列ごとにデータの型式を揃え、ついでに、日照時間(Daylight_Hours)、太陽の移動角度(Travel_Angle)を付け加えました。
Date | SR_time | SR_dir | Culmination | Culm_alt | SS_time | SS_dir | Daylight_Hours | Travel_Angle | |
---|---|---|---|---|---|---|---|---|---|
0 | 01 | 2020-01-01 06:50:00 | 118.1 | 2020-01-01 11:44:00 | 31.3 | 2020-01-01 16:38:00 | 241.9 | 0 days 09:48:00 | 123.8 |
1 | 02 | 2020-01-02 06:51:00 | 118.0 | 2020-01-02 11:45:00 | 31.4 | 2020-01-02 16:39:00 | 242.0 | 0 days 09:48:00 | 124.0 |
2 | 03 | 2020-01-03 06:51:00 | 117.9 | 2020-01-03 11:45:00 | 31.5 | 2020-01-03 16:40:00 | 242.1 | 0 days 09:49:00 | 124.2 |
3 | 04 | 2020-01-04 06:51:00 | 117.8 | 2020-01-04 11:46:00 | 31.6 | 2020-01-04 16:40:00 | 242.3 | 0 days 09:49:00 | 124.5 |
4 | 05 | 2020-01-05 06:51:00 | 117.7 | 2020-01-05 11:46:00 | 31.7 | 2020-01-05 16:41:00 | 242.4 | 0 days 09:50:00 | 124.7 |
データフレーム自体は、前回から目新しさはありませんが、データ型は以下のようにしました。
Date object
SR_time datetime64[ns]
SR_dir float64
Culmination datetime64[ns]
Culm_alt float64
SS_time datetime64[ns]
SS_dir float64
Daylight_Hours timedelta64[ns]
Travel_Angle float64
dtype: object
3.簡単に見てみる
jupyter notebook のセルでは、それほど長いと感じなかったのですが、ブログにコピペすると、なかなか長いですね。ということで、さっそく 2020 年の日の出入りのデータをざっくり見てみることとします。
SR_dir | Culm_alt | SS_dir | Daylight_Hours | Travel_Angle | |
---|---|---|---|---|---|
count | 366.000000 | 366.000000 | 366.000000 | 366 | 366.000000 |
mean | 88.934699 | 54.686612 | 271.067486 | 0 days 12:10:55.573770491 | 182.132787 |
std | 20.536070 | 16.482305 | 20.537343 | 0 days 01:40:01.575416347 | 41.073001 |
min | 60.000000 | 30.900000 | 241.400000 | 0 days 09:45:00 | 122.800000 |
25% | 68.725000 | 38.375000 | 250.850000 | 0 days 10:33:30 | 141.575000 |
50% | 88.600000 | 55.000000 | 271.450000 | 0 days 12:12:30 | 182.850000 |
75% | 109.150000 | 70.975000 | 291.325000 | 0 days 13:47:45 | 222.550000 |
max | 118.600000 | 77.800000 | 300.000000 | 0 days 14:35:00 |
240.000000
|
簡単に見るだけのつもりが、これだけでほぼすべてが語られていました。
東京の緯度は、北緯 35°41' であることを念頭に見てみると。
① 2020 年は 366 日で、
② 一年平均すると、太陽はほぼ真東 (北から 88.9° の位置) から昇り、真西 (271°) に沈み(要するに、春分、秋分の日辺り)、
③ 春分秋分時の南中高度 (Culm_alt) は 54.6°(90° ー 東京の北緯 35°41')で、
④ 日中の時間は 12 時間 10 分。
⑤ 南中高度が最大になるのは(おそらく夏至の時で)、77.8° (90°ー(東京の北緯ー北回帰線 23.4°))
⑥ 南中高度が最小になるのは(おそらく冬至の時で)、30.9° (90°ー(東京の北緯+北回帰線 23.4°))
まさに教科書通りというか、あるいは、教科書が過不足なく言い表しているというべきでしょうか。
4.簡単に図示する
describe() だけでも十分のような気もしますが、とどめにいくつか図示してみました。
左から、一年を通じた南中高度の変化、日照時間と年中高度の関係、日照時間と太陽の移動角度の関係を図示しました。ここまできれいに精度よく記述できるからこそ、今年の節分のように、補正も精確にできるのでしょうね。
まとめ
日の出入りに関しては、怖ろしい精度で記述が可能であることが窺えました。また、データを整えさえすれば、あっという間にまとめてくれる、python やそのライブラリにもびっくりです。
日照時間の変化は、十分過ぎる位感じることができましたが、これに天気などのデータを加えると、季節の移り変わりを感じることとなるのでしょうか…。おいおい試してみたいと思います。
今日は、寒さが緩んだというよりも、暖かい一日でした。2 月の第一週目で最高気温が 16 ℃位になるのは驚きです。
本日も最後までお付き合い、ありがとうございました。