code: def get_field(self, field_name):
          
          if self.handle is None:
              raise Exception("Cannot get %s before construct Dataset" % field_name)
          tmp_out_len = ctypes.c_int()
          out_type = ctypes.c_int()
          ret = ctypes.POINTER(ctypes.c_void_p)()
          _safe_call(_LIB.LGBM_DatasetGetField(
              self.handle,
              c_str(field_name),
              ctypes.byref(tmp_out_len),
              ctypes.byref(ret),
              ctypes.byref(out_type)))
          if out_type.value != FIELD_TYPE_MAPPER[field_name]:
              raise TypeError("Return type error for get_field")
          if tmp_out_len.value == 0:
              return None
          if out_type.value == C_API_DTYPE_INT32:
              return cint32_array_to_numpy(ctypes.cast(ret, ctypes.POINTER(ctypes.c_int32)), tmp_out_len.value)
          elif out_type.value == C_API_DTYPE_FLOAT32:
              return cfloat32_array_to_numpy(ctypes.cast(ret, ctypes.POINTER(ctypes.c_float)), tmp_out_len.value)
          elif out_type.value == C_API_DTYPE_FLOAT64:
              return cfloat64_array_to_numpy(ctypes.cast(ret, ctypes.POINTER(ctypes.c_double)), tmp_out_len.value)
          elif out_type.value == C_API_DTYPE_INT8:
              return cint8_array_to_numpy(ctypes.cast(ret, ctypes.POINTER(ctypes.c_int8)), tmp_out_len.value)
          else:
              raise TypeError("Unknown type")
docs: Get property from the Dataset.
  
          Parameters
          ----------
          field_name : string
              The field name of the information.
  
          Returns
          -------
          info : numpy array
              A numpy array with information from the Dataset.