You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何展平FeatureTools Entity Set并获取基于关系的左连接宽表?

FeatureTools Entity Set 问题解答

1. 将Entity Set展平为宽输入格式

直接使用FeatureTools的dfs(深度特征合成)方法,通过禁用特征生成逻辑,仅利用其关系遍历能力生成宽表:

import featuretools as ft

# 假设你的Entity Set实例为es,目标主实体名称为"main_entity"
wide_df, _ = ft.dfs(
    entityset=es,
    target_entity="main_entity",  # 指定作为宽表核心的实体
    agg_primitives=[],            # 禁用聚合类特征生成
    trans_primitives=[],          # 禁用转换类特征生成
    drop_unique=False             # 保留关联实体的所有字段,避免自动剔除唯一值字段
)

执行后得到的wide_df就是展平后的宽格式DataFrame,包含主实体及所有关联实体的字段,且通过预定义的关系完成匹配拼接。

2. 基于Entity Set关系生成左连接的合并DataFrame

借助dfs方法即可实现,该方法默认采用左连接逻辑,以目标实体为基准,按预定义关系关联所有层级的实体:

  • 如果需要合并所有关联实体,只需将max_depth设置为Entity Set的最大关系深度(或直接设为一个足够大的数值),确保遍历所有关联路径:
import featuretools as ft

# 生成包含所有关联实体的左连接宽表
left_joined_df, _ = ft.dfs(
    entityset=es,
    target_entity="main_entity",
    agg_primitives=[],
    trans_primitives=[],
    drop_unique=False,
    max_depth=3  # 根据你的Entity Set关系层级调整
)

生成的left_joined_df等价于以主实体为左表,按关系链依次左连接所有关联实体后的结果,完全复用Entity Set中已定义的关系规则,无需手动编写Pandas合并逻辑。

内容的提问来源于stack exchange,提问作者surajzakaas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 16:55:19