code: def test_load_hourly_beijing_pm():
      dl = DataLoader()
      df = dl.load_beijing_pm()
      assert list(df.columns) == [
          TIME_COL,
          "year",
          "month",
          "day",
          "hour",
          "pm",
          "dewp",
          "temp",
          "pres",
          "cbwd",
          "iws",
          "is",
          "ir",
      ]
      assert df.shape == (43824, 13)
  
      agg_func = {
          "pm": "mean",
          "dewp": "mean",
          "temp": "max",
          "pres": "mean",
          "iws": "sum",
          "is": "sum",
          "ir": "sum",
      }
      df = dl.load_beijing_pm(agg_freq="daily", agg_func=agg_func)
      assert TIME_COL in df.columns
      assert df.shape == (1826, len(agg_func) + 1)
      df = dl.load_beijing_pm(agg_freq="weekly", agg_func=agg_func)
      assert TIME_COL in df.columns
      assert df.shape == (262, len(agg_func) + 1)
      df = dl.load_beijing_pm(agg_freq="monthly", agg_func=agg_func)
      assert TIME_COL in df.columns
      assert df.shape == (60, len(agg_func) + 1)
  
imports: import os
  import re
  import pandas
  import pytest
  from greykite.common.constants import TIME_COL
  from greykite.common.data_loader import DataLoader
  from greykite.common.testing_utils import assert_equal
label_desc: Use image node_id 10 for calling a global function with example usage: test_load_hourly_beijing_pm() without return types