ホームページ  >  記事  >  バックエンド開発  >  DataFrame をサブセット化するときに Pandas が `.copy()` の使用を推奨するのはなぜですか?

DataFrame をサブセット化するときに Pandas が `.copy()` の使用を推奨するのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-08 13:09:01226ブラウズ

Why Does Pandas Recommend Using `.copy()` When Subsetting DataFrames?

Pandas で DataFrame をコピーすることが不可欠なのはなぜですか?

DataFrame のサブセットを取得する場合、プログラマがコピーの作成を推奨する理由を理解することが重要です.copy() メソッドを使用します。デフォルトでは、Pandas で DataFrame をサブセットすると元の DataFrame への参照が返されます。つまり、サブセットに加えられた変更は親 DataFrame に影響します。

コピーしない場合はどうなりますか?

コピーを作成せずにサブ DataFrame を変更すると、親 DataFrame が直接変更されます。例:

df = pd.DataFrame({'x': [1, 2]})
df_sub = df[0:1]
df_sub.x = -1

これらの変更後に df を出力すると、サブデータフレームを変更しただけであるにもかかわらず、最初の行の x の値が -1 に変更されていることがわかります。

コピーの利点

コピーを作成すると、親 DataFrame から独立した新しいオブジェクトが作成されます。コピーに加えられた変更は、オリジナルには影響しません。これは、DataFrame 全体を意図せず変更することなく、データのサブセットに対して操作を実行したい場合に重要です。

df_sub_copy = df[0:1].copy()
df_sub_copy.x = -1

この場合、df は変更されず、元の値が維持されます。

注: .copy() メソッドは Pandas の新しいバージョンでは非推奨になったことを強調することが重要です。代わりに、データの整合性を確保しながら DataFrame をスライスできる .loc および .iloc インデックス作成メソッドを使用することをお勧めします。

以上がDataFrame をサブセット化するときに Pandas が `.copy()` の使用を推奨するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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