ホームページ >バックエンド開発 >Python チュートリアル >DataFrame に行を追加するための Pandas の非推奨の `append` メソッドを置き換える方法は?
エラー「DataFrame' オブジェクトには属性 'append' がありません」: 代わりに 'concat' を使用
パンダの 'append' メソッドはバージョン 2.0 で削除され、「concat」に置き換えられました。これは、DataFrame.append() を使用して辞書を新しい行として DataFrame に追加できなくなったことを意味します。このエラーを解決して目的の機能を実現するには、代わりに 'concat' を使用する必要があります。
'concat' の使用
辞書を新しい行として辞書に追加するには「concat」を使用して DataFrame を作成するには、次の手順に従います。
辞書を次のように変換します。 1 行の DataFrame:
new_row_df = pd.DataFrame([new_row])
新しい行 DataFrame を元の DataFrame と連結します:
df = pd.concat([df, new_row_df], ignore_index=True)
代替: 'loc' を使用します (注意)
別のオプションですが、いくつかの制限がありますが、'loc' を使用することです:
df.loc[len(df)] = new_row
ただし、これは新しいインデックスがまだ存在しない場合にのみ機能することに注意してくださいDataFrame 内 (通常、インデックスが RangeIndex の場合)。
Why Was 'append'削除されましたか?
「append」メソッドは、繰り返し挿入する場合に非効率的であるため、削除されました。 「list.append」は各ステップで O(1) ですが、「DataFrame.append」は O(n) であるため、ループが遅くなります。さらに、ステップごとに新しい DataFrame が作成され、二次的な動作が発生します。
繰り返し挿入のベスト プラクティス
DataFrame に行を繰り返し追加する必要がある場合、リスト内の新しい項目を収集し、それを DataFrame に変換し、それを最後に元の DataFrame に連結することをお勧めします。ループ。このアプローチにより、繰り返しの追加操作によるオーバーヘッドが回避されます。
以上がDataFrame に行を追加するための Pandas の非推奨の `append` メソッドを置き換える方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。