ビュー生成とコピー生成に関する Pandas のルール
Pandas は、DataFrame のスライス操作の結果がビューになるか、それともコピー。これらのルールを理解することで、データ操作を最適化し、予期しない動作を回避できます。
常にコピーを生成する操作から始めます:
- 特に変更するように設計された操作を除くすべての操作DataFrame をインプレースで作成するには、コピーを作成します。
- 特定の操作のみが inplace=True パラメータをサポートしており、元の DataFrame で直接変更を行うことができます。
次に、操作を考えてみましょう。
- .loc、.iloc、.iat、.at などの値を設定するインデクサーはインプレースで動作し、コピーを作成せずに元の DataFrame を変更します。
- 単一 dtype オブジェクトからデータを取得するインデクサーは、基礎となるメモリ レイアウトによってこの最適化が妨げられない限り、通常、ビューを作成します。
- 逆に、複数 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 サイトの他の関連記事を参照してください。