code: def test_apply_func_array():
      feature = "asc_numbers"
      df = get_test_data()
  
      apply_funcs = [
          {
              "func": np.std,
              "features": [feature],
              "metrics": ["a", "b"],
              "entire": True,
          },
          {
              "func": np.mean,
              "features": [feature],
              "metrics": ["a", "b"],
              "entire": True,
          },
      ]
  
      f, p = apply_func_array(
          feature=feature,
          metrics=["a", "b"],
          apply_to_df=df,
          assign_to_df=None,
          apply_funcs=apply_funcs,
          same_key=True,
      )
  
      cols = ["a", "b", "a_std", "b_std", "a_mean", "b_mean"]
      np.testing.assert_array_equal(p.columns, cols)
      np.testing.assert_equal(p["a_mean"].values[0], 49.5)
      np.testing.assert_equal(p["b_mean"].values[0], 1.5)
      np.testing.assert_almost_equal(p["a_std"].values[0], 28.86607)
      np.testing.assert_almost_equal(p["b_std"].values[0], 0.5)
  
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 10 for calling a global function with example usage: test_apply_func_array() without return types