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

FeatureTools运行报错EntitySet对象无entity_from_dataframe属性如何解决

问题原因

你遇到的AttributeError: 'EntitySet' object has no attribute 'entity_from_dataframe'报错是FeatureTools版本不兼容导致的:

  • 你参考的是v0.16.0旧版本的官方文档示例,entity_from_dataframe方法仅在v1.0.0之前的FeatureTools版本中可用
  • 你本地安装的FeatureTools是v1.0.0及以上的新版本,该版本已经将该方法废弃,替换为add_dataframe方法
解决办法

方案1:修改代码适配新版本FeatureTools(推荐)

把你代码中调用entity_from_dataframe的部分替换为add_dataframe方法即可,修改后的完整代码如下:

import featuretools as ft

data = ft.demo.load_mock_customer()
transactions_df = data["transactions"].merge(data["sessions"]).merge(data["customers"])
transactions_df.sample(10)
products_df = data["products"]
products_df
es = ft.EntitySet(id="customer_data")
# 替换为add_dataframe方法,调整对应参数名即可
es = es.add_dataframe(
    dataframe_name="transactions",
    dataframe=transactions_df,
    index="transaction_id",
    time_index="transaction_time",
    logical_types={"product_id": ft.LogicalType("categorical"), "zip_code": ft.LogicalType("zipcode")}
)

es

注意:新版本除了方法名变更外,原entity_id参数改名为dataframe_name,原variable_types参数改名为logical_types,参数取值逻辑保持一致。

方案2:安装对应版本的FeatureTools兼容旧文档代码

如果你需要完全沿用旧版本示例代码,不需要适配新特性,可以直接安装v0.16.0版本的FeatureTools:

pip install featuretools==0.16.0

安装完成后重新运行原有代码即可正常执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 07:09:03