code: def _init_from_npy2d(self, mat, missing):
          
          if len(mat.shape) != 2:
              raise ValueError('Input numpy.ndarray must be 2 dimensional')
          data = np.array(mat.reshape(mat.size), dtype=np.float32)
          self.handle = ctypes.c_void_p()
          _check_call(_LIB.XGDMatrixCreateFromMat(data.ctypes.data_as(ctypes.POINTER(ctypes.c_float)),
                                                  mat.shape[0], mat.shape[1],
                                                  ctypes.c_float(missing),
                                                  ctypes.byref(self.handle)))
docs: Initialize data from a 2-D numpy matrix.