featuretools icon indicating copy to clipboard operation
featuretools copied to clipboard

Use partial schema init in EntitySet.normalize_dataframe

Open tamargrey opened this issue 3 years ago • 0 comments

In normalize DataFrame, we compile all of the woodwork types that we want to transfer to the new DataFrame in a transfer_types dictionary, and then we separate them all out into the input parameters for woodwork init.

It should be possible to only specify the table-wide parameters for Woodwork init and pass the transfer types in as a partial schema. We'd have to be careful to not pull in table-attributes from the TableSchema, but it could look something like this:

        new_dataframe.ww.init(schema=dataframe.ww._schema._get_subset_schema(transfer_types.keys()), name=new_dataframe_name, index=index,
                              already_sorted=already_sorted,
                              time_index=new_dataframe_time_index)

We'd just need to make sure that any changes that happen to the types in transfer_types still get made. The behavior of normalize_dataframe shouldn't change at all.

tamargrey avatar Aug 25 '21 19:08 tamargrey