Traceback (most recent call last): File "C:\Users\admin\AppData\Local\Programs\Python\Python310\1.py", line 23, in <module> fifo_df = fifo_df.append({'Product': row['Product'], 'Date': row['Date'],'Quantity': row['Quantity'], 'Cost': cost}, ignore_index=True) File "C:\Users\admin\AppData\Local\Programs\Python\Python310\lib\site-packages\pandas\core\generic.py", line 5989, in __getattr__ return object.__getattribute__(self, name) AttributeError: 'DataFrame' object has no attribute 'append'. Did you mean: '_append'?
时间: 2023-07-21 13:21:17 浏览: 161
Mac下anaconda中Spyder打开报错Traceback(most recent call last)…问题
5星 · 资源好评率100%
这个错误提示是因为您使用的是 Pandas 1.3.0 及以上版本,而在这些版本中,Pandas 已经取消了 DataFrame 的 append 方法。您可以将多个 DataFrame 放到一个列表中,然后使用 Pandas 的 concat 方法将它们连接起来,如下所示:
```
dfs = [df1, df2, df3]
result = pd.concat(dfs)
```
在您的代码中,您可以将以下行:
```
fifo_df = fifo_df.append({'Product': row['Product'], 'Date': row['Date'], 'Quantity': row['Quantity'], 'Cost': cost}, ignore_index=True)
```
替换为以下代码:
```
new_row = {'Product': row['Product'], 'Date': row['Date'], 'Quantity': row['Quantity'], 'Cost': cost}
fifo_df = pd.concat([fifo_df, pd.DataFrame(new_row, index=[0])], ignore_index=True)
```
这样就可以避免使用 append 方法,并且代码仍然可以正确地将新行添加到 DataFrame 中。
阅读全文