code: def to_feather(df, path):
      
      path = _stringify_path(path)
      if not isinstance(df, DataFrame):
          raise ValueError("feather only support IO with DataFrames")
  
      feather = _try_import()[0]
      valid_types = {'string', 'unicode'}
  
      # validate index
      # --------------
  
      # validate that we have only a default index
      # raise on anything else as we don't serialize the index
  
      if not isinstance(df.index, Int64Index):
          raise ValueError("feather does not support serializing {} "
                           "for the index; you can .reset_index()"
                           "to make the index into column(s)".format(
                               type(df.index)))
  
      if not df.index.equals(RangeIndex.from_range(range(len(df)))):
          raise ValueError("feather does not support serializing a "
                           "non-default index for the index; you "
                           "can .reset_index() to make the index "
                           "into column(s)")
  
      if df.index.name is not None:
          raise ValueError("feather does not serialize index meta-data on a "
                           "default index")
  
      # validate columns
      # ----------------
  
      # must have value column names (strings only)
      if df.columns.inferred_type not in valid_types:
          raise ValueError("feather must have string column names")
  
      feather.write_feather(df, path)
docs: Write a DataFrame to the feather-format
  
      Parameters
      ----------
      df : DataFrame
      path : string file path, or file-like object