エラー: 'DataFrame' オブジェクトには属性 'append' がありません
DataFrame オブジェクトにディクショナリを追加しようとすると、次のエラーが発生します発生する可能性があります:
AttributeError: 'DataFrame'オブジェクトには属性 'append' がありません
DataFrame には "append" メソッドが存在するように見えますが、この問題は最近削除されたことを理解することで解決できます。
理由削除用
pandas 2.0 では、「append」メソッドは非推奨になり、最終的には問題のある性質のため削除されました。ユーザーは、ループ内で「追加」を使用して Python リストの動作を模倣しようとすることがよくあり、非効率につながりました。 pandas の「append」は元の DataFrame を変更せず、新しい DataFrame を作成するため、挿入を繰り返すと複雑さが O(n) になります。
代替ソリューション
DataFrame に辞書を追加するには、次の 2 つの代替方法が推奨されます:
1. Pandas 連結 (concat)
df = pd.concat([df, pd.DataFrame([new_row])], ignore_index=True)
このメソッドは、元の DataFrame と新しい行を DataFrame として結合します。
2. Pandas Loc (RangeIndex のみ)
df.loc[len(df)] = new_row # only use with a RangeIndex!
このメソッドは、DataFrame 内の次に使用可能なインデックスに設定して新しい行を追加します。 DataFrame に RangeIndex がある場合にのみ機能することに注意してください。
複数の行を効果的に追加する
複数の行を追加する必要がある場合は、次のアプローチを検討してください。
これにより、反復的な " のオーバーヘッドを回避しながら効率的な追加が保証されます。 「追加」または「連結」操作。
以上がpandas DataFrame が AttributeError をスローするのはなぜですか: 'DataFrame' オブジェクトには属性 'append' がありません。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。