code: def test_variance_comparer():
      datastore = {"to_profile": pytest.test_comparer_df}
  
      module1 = ApplyFunc(
          apply_to_key="to_profile",
          features=["the_feature", "dummy_feature"],
      )
      module1.add_apply_func(np.std, suffix="_std", entire=True)
      module1.add_apply_func(np.mean, suffix="_mean", entire=True)
  
      module2 = ApplyFunc(
          apply_to_key="to_profile",
          features=["the_feature", "dummy_feature"],
      )
      module2.add_apply_func(
          pull,
          suffix="_pull",
          axis=1,
          suffix_mean="_mean",
          suffix_std="_std",
      )
  
      pipeline = Pipeline(modules=[module1, module2])
      datastore = pipeline.transform(datastore)
  
      p = datastore["to_profile"]["the_feature"]
      np.testing.assert_almost_equal(
          p["mae_pull"].values[2], -0.1017973, 5
      )
      np.testing.assert_almost_equal(
          p["mae_pull"].values[3], 1.934149074, 6
      )
  
      p = datastore["to_profile"]["dummy_feature"]
      np.testing.assert_almost_equal(
          p["mae_pull"].values[0], -0.6107839182
      )
  
file_path: popmon/tests/popmon/analysis/profiling/test_apply_func.py
imports: import numpy
  import pandas
  import pytest
  from popmon.analysis.apply_func import ApplyFunc, apply_func, apply_func_array
  from popmon.analysis.functions import pull
  from popmon.analysis.profiling.pull_calculator import ExpandingPullCalculator, ReferencePullCalculator, RefMedianMadPullCalculator, RollingPullCalculator
  from popmon.base import Pipeline
label_desc: Use image node_id 4 for calling a global function with example usage: test_variance_comparer() without return types