ホームページ > バックエンド開発 > Python チュートリアル > DataFrame に行を追加するための Pandas の非推奨の `append` メソッドを置き換える方法は?

DataFrame に行を追加するための Pandas の非推奨の `append` メソッドを置き換える方法は?

Linda Hamilton
リリース: 2024-12-03 19:21:11
オリジナル
708 人が閲覧しました

How to Replace Pandas' Deprecated `append` Method for Adding Rows to a DataFrame?

エラー「DataFrame' オブジェクトには属性 'append' がありません」: 代わりに 'concat' を使用

パンダの 'append' メソッドはバージョン 2.0 で削除され、「concat」に置き換えられました。これは、DataFrame.append() を使用して辞書を新しい行として DataFrame に追加できなくなったことを意味します。このエラーを解決して目的の機能を実現するには、代わりに 'concat' を使用する必要があります。

'concat' の使用

辞書を新しい行として辞書に追加するには「concat」を使用して DataFrame を作成するには、次の手順に従います。

  1. 辞書を次のように変換します。 1 行の DataFrame:

    new_row_df = pd.DataFrame([new_row])
    ログイン後にコピー
  2. 新しい行 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート