code: def test_apply_more(self):
      T = DataSet({"a": [1, 2, 3], "b": [2, 4, 5]})
      func_1 = lambda x: {"c": x["a"] * 2, "d": x["a"] ** 2}
      func_2 = lambda x: {"c": x * 3, "d": x**3}
  
      def func_err_1(x):
          if x["a"] == 1:
              return {"e": x["a"] * 2, "f": x["a"] ** 2}
          else:
              return {"e": x["a"] * 2}
  
      def func_err_2(x):
          if x == 1:
              return {"e": x * 2, "f": x**2}
          else:
              return {"e": x * 2}
  
      T.apply_more(func_1)
      # print(T['c'][0, 1, 2])
      assert list(T["c"].content) == [2, 4, 6]
      assert list(T["d"].content) == [1, 4, 9]
  
      res = T.apply_field_more(func_2, "a", modify_fields=False)
      assert list(T["c"].content) == [2, 4, 6]
      assert list(T["d"].content) == [1, 4, 9]
      assert list(res["c"]) == [3, 6, 9]
      assert list(res["d"]) == [1, 8, 27]
  
      with pytest.raises(ApplyResultException) as e:
          T.apply_more(func_err_1)
          print(e)
  
      with pytest.raises(ApplyResultException) as e:
          T.apply_field_more(func_err_2, "a")
          print(e)
  
imports: import os
  import pytest
  import numpy
  from fastNLP.core.dataset import DataSet, FieldArray, Instance, ApplyResultException
  from fastNLP import logger
label_desc: Use image node_id 18 for calling the TestDataSetMethods obj's underlying member method code with example usage: obj.test_apply_more() and returns: dict, dict, dict, dict