Pandas はデータフレームのコピーではなくビューをいつ作成しますか?

Barbara Streisand
リリース: 2024-11-04 05:28:02
オリジナル
676 人が閲覧しました

When Does Pandas Create a View vs. a Copy of a DataFrame?

ビューとコピーに関する Pandas のルールを理解する

Pandas でデータフレームを扱う場合、ビューとコピーの区別を理解することが重要です。この区別により、データフレームのサブセットに加えられた変更が元のデータフレームに影響するかどうかが決まります。

ビューとコピーの作成を管理するルール

  • コピー:

    • 値を設定するインデクサーを除くすべての操作は、コピーを生成します。
    • コピーを返す操作には、クエリ (.query)、データ操作関数 ( .fillna、.dropna)、および特定のスライス操作。
  • View:

    • 値を設定するインデクサー (_loc) 、_iloc、_iat、_at) は、デフォルトでデータフレームをその場で変更します。
    • 単一の dtyped オブジェクトを取得するインデクサーは、メモリ レイアウトに応じてビューまたはコピーになる場合があります。ただし、これは信頼できる指標ではありません。

例外と説明

  • inplace=True: 一部の操作では、コピーを返すのではなく、元のデータフレームを変更するインプレース オプション (_inplace=True など) が提供されます。
  • 複数の dtyped オブジェクト: 複数の dtype オブジェクトのインデクサー常にコピーを作成します。
  • 連鎖インデックス作成: 連鎖インデックス操作 (例: _[_df.C

使用例

次の例を考えてみましょう:

<code class="python">df = pd.DataFrame(np.random.randn(8,8), columns=list('ABCDEFGH'), index=range(1,9))
df[df.C <= df.B] = 7654321</code>
ログイン後にコピー

この操作は、インデクサー df[df.C <= df] であるため、元のデータフレーム (_df_) を変更します。 .B] は、値の設定に使用されるため、ビューとして機能します。

結論

Pandas でのビューとコピーの作成を管理するルールを理解することは、効果的なデータフレーム操作。上記の原則に従うことで、意図しないデータ変更を回避し、データの整合性を確保できます。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!