「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Pandas がビューとコピーを作成するのはいつですか?

Pandas がビューとコピーを作成するのはいつですか?

2024 年 11 月 6 日に公開
ブラウズ:542

When Does Pandas Create a View vs a Copy?

Pandas のビュー生成とコピー生成のルール

Pandas は、DataFrame でのスライス操作の結果がビューになるか、それともコピー。これらのルールを理解することで、データ操作を最適化し、予期しない動作を回避できます。

常にコピーを生成する操作から開始します:

  1. 特に変更するように設計された操作を除くすべての操作DataFrame をインプレースに配置し、コピーを作成します。
  2. 特定の操作のみが inplace=True パラメーターをサポートしており、元の DataFrame で直接変更を行うことができます。

次に、操作を考えてみましょう。

  1. .loc、.iloc、.iat、.at などの値を設定するインデクサーは、インプレースで動作し、コピーを作成せずに元の DataFrame を変更します。
  2. 単一 dtype オブジェクトからデータを取得するインデクサーは、基になるメモリ レイアウトによってこの最適化が妨げられない限り、通常、ビューを作成します。
  3. 逆に、複数 dtype オブジェクトからデータを取得するインデクサーは、ビューを作成します。

例について:

  • df.query('2
  • df.iloc[3] = 70 および df.ix[1, 'B':'E'] = 222 は、single-dtype オブジェクトにアクセスし、値をその場で設定するため、df を変更します。
  • df[df.C
  • ただし、 df[df.C

クエリに基づいて特定の値を変更するには、正しい loc 構文を使用します:

df.loc[df.C 

これらのルールに従うことで、Pandas がいつビューまたはコピーを生成するかを明確に理解し、Python スクリプト内で効率的なデータ操作を確保できます。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3