code: def from_numpy(cls, np_obj, name, columns, index=None, index_key=None,
                     **kwargs):
          
          if not np:
              raise LoadError('numpy could not be imported')
  
          _assert_is_type('numpy object', np_obj, np.ndarray)
  
          # Integer index if none is provided
          index = index or range(np_obj.shape[0])
          # Explicitly map dict-keys to strings for JSON serializer.
          columns = list(map(str, columns))
  
          index_key = index_key or cls._default_index_key
  
          if len(index) != np_obj.shape[0]:
              raise LoadError(
                  'length of index must be equal to number of rows of array')
          elif len(columns) != np_obj.shape[1]:
              raise LoadError(
                  'length of columns must be equal to number of columns of '
                  'array')
  
          data = cls(name=name, **kwargs)
          data.values = [
              dict([(index_key, cls.serialize(idx))] +
                   [(col, x) for col, x in zip(columns, row)])
              for idx, row in zip(index, np_obj.tolist())]
  
          return data
docs: Load values from a numpy array
  
          Parameters
          ----------
          np_obj : numpy.ndarray
              numpy array to load data from
          name : string
              ``name`` field for the data
          columns : iterable
              Sequence of column names, from left to right. Must have same
              length as the number of columns of ``np_obj``.
          index : iterable, default None
              Sequence of indices from top to bottom. If ``None`` (default),
              then the indices are integers starting at 0. Must have same
              length as the number of rows of ``np_obj``.
          index_key : string, default None
              Key to use for the index. If ``None`` (default), ``idx`` is
              used.
          **kwargs : dict
              Additional arguments passed to the :class:`Data` constructor
  
          Notes
          -----
          The individual elements of ``np_obj``, ``columns``, and ``index``
          must return valid values from :func:`Data.serialize`.