[解決済み】なぜpandasでデータフレームのコピーを作成する必要があるのか
2022-04-01 10:39:24
質問
親データフレームからサブデータフレームを選択する際、一部のプログラマーは、データフレームをコピーするために
.copy()
メソッドを使用します。例えば
X = my_dataframe[features_list].copy()
...ではなく、単に
X = my_dataframe[features_list]
なぜデータフレームのコピーを作っているのだろう?コピーを作らないとどうなるのでしょうか?
解決方法は?
Paulの回答を発展させたものです。Pandasでは、DataFrameにインデックスを付けると、最初のDataFrameへの参照が返されます。したがって、サブセットを変更すると、最初のDataFrameが変更されます。したがって、最初のDataFrameが変更されないようにしたい場合は、コピーを使用したいと思うでしょう。次のようなコードを考えてみましょう。
df = DataFrame({'x': [1,2]})
df_sub = df[0:1]
df_sub.x = -1
print(df)
得ることができます。
x
0 -1
1 2
これに対し、以下はdfを変更しないままです。
df_sub_copy = df[0:1].copy()
df_sub_copy.x = -1
関連
-
[解決済み】ValueError: xとyは同じサイズでなければならない
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] Pythonでシングルトンを作成する
-
[解決済み] 億の相対的輸入
-
[解決済み] pandasを使った "大量データ "ワークフロー【終了しました
-
[解決済み] Pythonのsuper()は多重継承でどう動くのか?
-
[解決済み] Pythonの「名前付きタプル」とは何ですか?
-
[解決済み] Pythonで子クラスから親クラスのメソッドを呼び出すにはどうすればよいですか?
-
[解決済み] pandas GroupByを使ってグループごとの統計情報(カウント、平均値など)を取得する?
-
[解決済み】なぜPythonはこのJSONデータをパースできないのですか?[終了] PythonがこのJSONデータをパースできないのはなぜですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
python string splicing.join()とsplitting.split()の説明
-
Pythonによるjieba分割ライブラリ
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
Evidentlyを用いたPythonデータマイニングによる機械学習モデルダッシュボードの作成
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み】Python: OverflowError: 数学の範囲エラー
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].