AttributeError:截止时间 DataFrame 必须包含与目标 DataFrame 索引同名的列或名为“instance_id”的列

AttributeError: Cutoff time DataFrame must contain a column with either the same name as the target dataframe index or a column named "instance_id"

提问人:J. Maria 提问时间:7/27/2023 更新时间:7/27/2023 访问量:22

问:

我正在学习如何在本教程中使用 Featuretools,并且我已经制作了本段正下方的片段:

from featuretools.tsfresh import CidCe
import featuretools as ft

fm, features = ft.dfs(
    entityset=es,
    target_dataframe_name='RUL data',
    agg_primitives=['last', 'max'],
    trans_primitives=[],
    chunk_size=.26,
    cutoff_time=cutoff_time_list[0],
    max_depth=3,
    verbose=True,
)

fm.to_csv('advanced_fm.csv')
fm.head()

该变量保存数据集:es

enter image description here

然后,有一个表,如下所示:cutoff_time_list[0]

enter image description here

但是,我收到此错误: AttributeError:截止时间 DataFrame 必须包含与目标 DataFrame 索引同名的列或名为“instance_id”的列 即使数据帧和截止表都具有“engine_no”列。为什么会这样?我正在使用 .1.27.0featuretools

Python 深度学习 特征工程 FeatureTools

评论


答:

1赞 Nate Parsons 7/27/2023 #1

这里的错误消息确实为您指明了正确的方向。它表示截止时间数据帧必须具有与目标数据帧的索引列同名的列。在您的示例中,将目标 DataFrame 设置为 ,但该数据帧的索引设置为名为 的列。由于截止时间数据帧中没有名为“您”的列,因此会出现此错误。RUL dataindexindex

根据您链接的示例笔记本,我认为您确实希望将 dataframe 设置为 ,其索引设置为 。target_dataframe_namenormalRULengine_no

评论

0赞 J. Maria 7/28/2023
是的,没错,我正在改编教程,并且在某些时候对我必须更改的内容感到困惑。谢谢你的回答!