调用ImageList.from_df报错:'ImageList'对象无'iloc'属性
问题分析与解决
错误原因
你代码的核心问题是变量名重复覆盖:第一行代码test = ImageList.from_df(test, img_path, suffix='.jpg')中,作为参数传入的test已经是一个ImageList对象,但ImageList.from_df()方法要求第一个参数必须是pandas DataFrame。当方法内部尝试调用df.iloc时,因ImageList没有该属性,直接抛出AttributeError。
解决方案
- 给存储测试集信息的DataFrame分配独立变量名,避免和最终生成的
ImageList重名,比如用test_df:
# 假设test_df是存储测试集图片信息的pandas DataFrame test = ImageList.from_df(test_df, img_path, suffix='.jpg') data.add_test(test)
- 额外校验:确保
test_df是有效的DataFrame,且指定的列(默认取第0列)包含正确的图片文件名,无NaN值。
内容的提问来源于stack exchange,提问作者Saruni David
相关产品推荐
相关产品推荐

