原因:
pandas 新版本(>=2.0)移除了DataFrame.append()方法,推荐使用pd.concat()或改用列表收集数据。
解决方法:
方法一:收集数据到列表,最后创建 DataFrame(推荐)
# 在循环前初始化空列表 rows = [] for i in range(...): label_idx = int(pred_ids[i]) confidence = confs[i] * 100 rows.append({'Class': class_name, 'Class_ID': label_idx, 'Confidence(%)': confidence}) # 循环结束后一次性创建 DataFrame pred_df = pd.DataFrame(rows) display(pred_df)方法二:使用pd.concat()逐行拼接(效率较低,但可直接替代 append)
# 如果已经有一个 pred_df 初始 DataFrame,可以这样: new_row = pd.DataFrame({'Class': [class_name], 'Class_ID': [label_idx], 'Confidence(%)': [confidence]}) pred_df = pd.concat([pred_df, new_row], ignore_index=True)