我想根据训练数据的 pandas 数据框推断具有 tensorflow 数据验证 (tfdv) 的模式。数据框包含具有多价特征的列,其中可以同时存在该特征的多个值(或无)。
给定以下数据框:
df = pd.DataFrame([{'feat_1': 13, 'feat_2': 'AA, BB', 'feat_3': 'X'},
{'feat_1': 7, 'feat_2': 'AA', 'feat_3': 'Y'},
{'feat_1': 7, 'feat_2': None, 'feat_3': None}])
推断和显示模式会导致:
因此,tfdv 将 'feat_2' 值视为单个字符串,而不是在 ',' 处拆分它们以生成 'AA'、'BB' 的域:
如果将特征的值保存为 eg, ['AA', 'BB']
,则模式推断会引发错误:
ArrowTypeError: ("Expected bytes, got a 'list' object", 'Conversion failed for column feat_2 with type object')
有什么办法可以用 tfdv 实现这一点?