ホームページ  >  記事  >  バックエンド開発  >  Pandas がビューとコピーを作成するのはいつですか?

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

Susan Sarandon
Susan Sarandonオリジナル
2024-11-04 05:02:01728ブラウズ

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
df.loc[df.C <= df.B, 'B':'E']
クエリに基づいて特定の値を変更するには、正しい loc 構文を使用します。

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

以上がPandas がビューとコピーを作成するのはいつですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。