AI の出力チェック4 択難易度 標準

状況

pandas 2.2 の環境で、AI アシスタントが書いた行の追加のコードを動かすと AttributeError: 'DataFrame' object has no attribute 'append' が出た。

原因として最も考えられるのは?

df = df.append(row, ignore_index=True)

正答

  1. ignore_index=True が原因なので、False にすれば動く
  2. pandas のインストールが壊れているので、入れ直せば動く
  3. AI が古い版の書き方を示した。append は 2.0 で削除された
  4. row が辞書なのが原因で、リストにすれば append が使える

解説

DataFrame.append は pandas 1.4 で非推奨になり、2.0 で削除された。代わりに pd.concat を使う。AI は学習したコードに多い古い書き方を、今の版でも動くかのように出すことがある。エラーが「属性が無い」と言っているときは、引数ではなくメソッドそのものが無いことを疑い、使っている版の公式ドキュメントや変更履歴で確かめる。ignore_index や row の型を変えても、メソッドが無いことは変わらない。インストールが壊れていれば import の時点で別のエラーになることが多い。

参考: pandas.pydata.org

pythonpandasdeprecated-api

この問題を含む AI の出力チェック のテストを制限時間つきで解く

AI の出力チェッククイズへ