featuretools.save_features(features, location=None, profile_name=None)[source]#

Saves the features list as JSON to a specified filepath/S3 path, writes to an open file, or returns the serialized features as a JSON string. If no file provided, returns a string.

  • features (list[FeatureBase]) – List of Feature definitions.

  • location (str or FileObject, optional) – The location of where to save the features list which must include the name of the file, or a writeable file handle to write to. If location is None, will return a JSON string of the serialized features. Default: None

  • profile_name (str, bool) – The AWS profile specified to write to S3. Will default to None and search for AWS credentials. Set to False to use an anonymous profile.


Features saved in one version of Featuretools are not guaranteed to work in another. After upgrading Featuretools, features may need to be generated again.


f1 = ft.Feature(es["log"].ww["product_id"])
f2 = ft.Feature(es["log"].ww["purchased"])
f3 = ft.Feature(es["log"].ww["value"])

features = [f1, f2, f3]

# Option 1
filepath = os.path.join('/Home/features/', 'list.json')
ft.save_features(features, filepath)

# Option 2
filepath = os.path.join('/Home/features/', 'list.json')
with open(filepath, 'w') as f:
    ft.save_features(features, f)

# Option 3
features_string = ft.save_features(features)

See also