Example 7: Ingest the Feature Values Using Filters Specified in a Filter Manager - Teradata Package for Python

Teradata® Package for Python User Guide

Deployment
VantageCloud
VantageCore
Edition
VMware
Enterprise
IntelliFlex
Product
Teradata Package for Python
Release Number
20.00
Published
March 2025
ft:locale
en-US
ft:lastEdition
2026-08-13
dita:mapPath
nvi1706202040305.ditamap
dita:ditavalPath
plt1683835213376.ditaval
dita:id
rkb1531260709148
Product Category
Teradata Vantage

Create a filter manager and load filter definitions for the 'stats' feature. Then run the feature process using the filter manager to ingest features for different values of 'stats' feature separately.

>>> from teradataml import FilterManager
>>> fm = FilterManager(repo='vfs_v1', name='stats_filter_manager')
>>> fm
Filter Manager 'stats_filter_manager' does not exist. Run FilterManager.load_filter() to create it.
FilterManager(repo=vfs_v1, name=stats_filter_manager, filters=None)

Load filter definitions for statistics features into the filter manager using a DataFrame.

>>> fm.load_filter(df=df2.groupby('stats').count()[['stats']])
True
>>> fm
FilterManager(repo=vfs_v1, name=stats_filter_manager, filters=3)
>>> fp = FeatureProcess(repo="vfs_v1",
...                     data_domain='sales',
...                     object=df2,
...                     entity='id',
...                     features=['masters', 'gpa', 'stats', 'admitted'])
>>> fp.run(filter_manager=fm)
Process '07741d30-4d47-11f1-a487-cf2ce15f3444' started.
Ingesting the features for filter_id=1: {"stats":"Advanced"} to catalog.
Ingesting the features for filter_id=2: {"stats":"Beginner"} to catalog.
Ingesting the features for filter_id=3: {"stats":"Novice"} to catalog.
Process '07741d30-4d47-11f1-a487-cf2ce15f3444' completed.
True

Verify the ingested feature values.

>>> fs.list_feature_catalogs()
            data_domain  feature_id                                 table_name                     valid_start                       valid_end
entity_name                                                                                                                                   
id                sales          10  FS_T_11cc2784_e1c3_ac70_43d6_4cd711157202  2026-05-11 14:38:19.560000+00:  9999-12-31 23:59:59.999999+00:
id                sales           9  FS_T_e3c886c5_4c14_e9ae_dece_78bb144bf54e  2026-05-11 14:38:19.560000+00:  9999-12-31 23:59:59.999999+00:
id                sales          12  FS_T_e9b20a42_c625_414b_83e3_4882a2ffd424  2026-05-11 14:38:19.560000+00:  9999-12-31 23:59:59.999999+00:
id                sales          11  FS_T_e3c886c5_4c14_e9ae_dece_78bb144bf54e  2026-05-11 14:38:19.560000+00:  9999-12-31 23:59:59.999999+00:

Verify the feature data.

>>> dc = DatasetCatalog(repo='vfs_test', data_domain='sales')
>>> dc.build_dataset(entity='id',
...                  selected_features={
...                  'masters': fp.process_id,
...                  'stats': fp.process_id,
...                  'gpa': fp.process_id},
...                  view_name='fm_view',
...                  description='Filter manager test')
    id masters     stats   gpa
0  17      no  Advanced  3.83
1   6     yes  Beginner  3.50
2  38     yes  Advanced  2.65
3  12      no    Novice  3.65
4   7     yes    Novice  2.33
5  15     yes  Advanced  4.00
6  32     yes  Advanced  3.46
7  19     yes  Advanced  1.98
8  30     yes  Advanced  3.79
9  36      no  Advanced  3.00