Pandas: ビューとコピーの生成ルールを理解する
ビューとコピーの識別における混乱
Pandas DataFrame からの選択結果がビューになるかコピーになるかを判断するのは難しい場合があります。この混乱は主に、さまざまなインデックス作成操作とその動作の変化から発生します。
一般規則
具体的な例
比較への値の代入:
<code class="python">df[df.C <= df.B] = 7654321</code>
インデクサー .loc が値をインプレースで設定するために使用されるため、この割り当ては元の DataFrame df を変更します。
連鎖インデックス:
<code class="python">df[df.C <= df.B].loc[:, 'B':'E']</code>
この操作は信頼できない可能性があるため、推奨されません。潜在的な問題を回避するには、代わりに次の構文を使用します。
<code class="python">df.loc[df.C <= df.B, 'B':'E']</code>
クエリに基づいた値の変更
クエリ内のすべての値を変更するには特定のクエリ条件を満たすデータフレームの場合は、クエリ条件を引数として loc インデクサーを使用します。例:
<code class="python">df.loc[df.C <= df.B, 'E'] = 40</code>
この割り当ては、df.C が df.B 以下である行の 'E' 列の値のみを変更します。
以上がパンダ: DataFrame から選択すると、コピーではなくビューが作成されるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。