10分雨量[mm] / フラグ / 累計雨量[mm] / フラグ| 論題 | データセット | DL | 保存先 | 形式 | サイズ |
|---|---|---|---|---|---|
| 雨量10分値 2024-07-01 | DoBoX #1275 | 直DL | data/rain_2024/rain_2024-07-01.csv | CSV (5段ヘッダ, 1605列, UTF-8 BOM) | 約 1.8 MB |
個別取得(PowerShell, このレッスンだけ):
cd "2026 DoBoX 教材"
iwr "https://hiroshima-dobox.jp/resource_download/94500" -OutFile "data/rain_2024/rain_2024-07-01.csv"一括取得(全レッスン共通, 推奨):
cd "2026 DoBoX 教材"
py -X utf8 data\fetch_all.pyfetch_all.py はカタログ・追加データを data/ と data/extras/ に再現可能ダウンロード。DoBoX のオープンデータは申請不要、商用・非商用とも利用可。本レッスンの .py スクリプトは、データが無ければ自動取得してから処理を始めるよう実装されています(ensure_dataset() ヘルパ)。
cd "2026 DoBoX 教材"
python -X utf8 lessons/L04_tidy_rainfall.py
read_csv せず、まず生表として確保meta DataFrame に分離 (事務所/所管/水系/河川/番号/観測所)。観測所ごとの4列繰り返しの中で 10分雨量列のみを残す↑ L04_tidy_rainfall.py 行 19–495
| 事務所名 | 西部建設 | 西部建設 | ||||
| データ所管 | 砂防課 | 気象台 | ||||
| 水系名 | 太田川 | 太田川 | ||||
| 河川名 | 天満川 | 京橋川 | ||||
| 観測所番号 | 80 | 7437 | ||||
| 観測所名 | 江波 | 広島(気) | ||||
| 観測時刻 | 10分雨量[mm] | フラグ | 累計雨量[mm] | フラグ | 10分雨量[mm] | フラグ |
| 2024/07/01 00:00 | 0.0 | 0x00000000 | 16.0 | 0x00010000 | 0.5 | 0x00000000 |
5 段ヘッダ + 観測時刻ヘッダ。各観測所は 4 列を占有 (10分雨量/フラグ/累計/フラグ)。空セル (NaN) が観測所間の繰り返しに見える。
| row | first_cell | n_10分雨量 | is_観測所名行 | is_河川名行 |
|---|---|---|---|---|
| 0 | 事務所名 | 0 | False | False |
| 1 | データ所管 | 0 | False | False |
| 2 | 水系名 | 0 | False | False |
| 3 | 河川名 | 0 | False | True |
| 4 | 観測所番号 | 0 | False | False |
| 5 | 観測所名 | 0 | True | False |
| 6 | 観測時刻 | 401 | False | False |
| 7 | 2024/07/01 00:00 | 0 | False | False |
| 8 | 2024/07/01 00:10 | 0 | False | False |
| 9 | 2024/07/01 00:20 | 0 | False | False |
| 10 | 2024/07/01 00:30 | 0 | False | False |
| 11 | 2024/07/01 00:40 | 0 | False | False |
| 12 | 2024/07/01 00:50 | 0 | False | False |
| 13 | 2024/07/01 01:00 | 0 | False | False |
| 14 | 2024/07/01 01:10 | 0 | False | False |
"10分雨量" 出現件数が最大の行 = ヘッダ行。 "観測所名" で始まる行 = 観測所名行。位置で取らず内容で取るので、 2023 年式 (5 段ヘッダ) でも 2024 年式 (6 段ヘッダ) でも壊れない。
| 江波 | 広島(気) | 広島(国) | 牛田早稲田 | 中山新町 | 温品(砂防) | |
|---|---|---|---|---|---|---|
| datetime | ||||||
| 2024-07-01 00:00 | 0.0 | 0.5 | 0.0 | 0.0 | 1.0 | 1.0 |
| 2024-07-01 00:10 | 1.0 | 1.5 | 2.0 | 1.0 | 1.0 | 0.0 |
| 2024-07-01 00:20 | 0.0 | 0.5 | 0.0 | 1.0 | 0.0 | 1.0 |
| 2024-07-01 00:30 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| 2024-07-01 00:40 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.0 |
| 2024-07-01 00:50 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
shape: 144 時刻 × 401 観測所。 1 行 = 1 時刻、1 列 = 1 観測所、値 = 10 分雨量 (mm)。
| office | owner | system | river | sid | station |
|---|---|---|---|---|---|
| 西部建設 | 砂防課 | 太田川 | 天満川 | 80 | 江波 |
| 西部建設 | 気象台 | 太田川 | 京橋川 | 7437 | 広島(気) |
| 西部建設 | 国土交通省 | 太田川 | 京橋川 | 13 | 広島(国) |
| 西部建設 | 砂防課 | 太田川 | 二又川 | 86 | 牛田早稲田 |
| 西部建設 | 砂防課 | 太田川 | 中山川 | 85 | 中山新町 |
| 西部建設 | 国土交通省 | 太田川 | 戸坂川(矢口川) | 65 | 温品(砂防) |
| 西部建設 | 砂防課 | 太田川 | 小河原川 | 84 | 福木 |
| 西部建設 | 河川課 | 太田川 | 京橋川 | 1 | 西部建設 |
事務所 → 水系 → 河川 → 観測所 という 4 段の階層構造。観測所メタを別 DataFrame に切り出すと、 水系単位の集約 (L080) や河川単位の地図 (L02) と連携できる。




| 項目 | 値 |
|---|---|
| 生 CSV shape | 151 × 1605 |
| 生 CSV 列数の内訳 | 1 (時刻) + 1604 (= 401 観測所 × 4 列) |
| ヘッダ行の動的検出 | row=6 で '10分雨量' を発見 |
| 観測所名行の検出 | row=5 |
| メタ行 (事務所/所管/水系/河川/番号/観測所) | row 0〜5 |
| tidy 後 shape | 144 時刻 × 401 観測所 |
| ユニーク観測所数 (重複名連番化前) | 393 → 連番化後 401 |
| 水系数 / 事務所数 / 河川数 | 19 / 10 / 138 |
| セル全体の欠測率 | 0.667% |
| 欠測のある観測所数 | 40 / 401 |
| フラグ列のユニーク値数 | 3 |
| フラグ最多値 | 0x00000000 (57,359件) |
iloc[5, :] でハードコードしたら 1 年でデータ更新時に止まる。(時刻, 観測所) の二次元、メタは (観測所, 属性) の二次元、と 2 つの DataFrame に分けて結合キーで繋ぐのが正解。tidy.isna().mean() で即座に可視化できる。0x00000000 (全 bit=0, 正常観測) が圧倒的で、たまに 0xbe000000 等の上位 bit 系が立つ (異常/補正中)。一方 累計雨量側のフラグは 0x00010000 (bit16) が常時立つ — これは「累計型データ」を示すマーカーと推測できる。仕様書を読まなくても出現パターンから役割を推測できるのがデータ駆動の前処理。data/rain_2024/*.csv 全14ファイルを parse_rain_csv で読み込み、pd.concat で時系列を 14 日分に伸ばす。L080 と同じ前処理スタイル。tidy.cumsum() と CSV 内の累計雨量列を観測所ごとに比べて、仕様書なしで「累計雨量 = 当日 0:00 からの積算」を検証する。flag_meaning 列を tidy に追加した拡張版を作る。