LoginSignup
0
1

More than 1 year has passed since last update.

pythonのnumpyとxarrayにおけるdeep copyの作成法

Last updated at Posted at 2021-10-22

はじめに

python の numpy を使って ndarray をコピーする場合、そのやり方によってコピー元・先のオブジェクトが束縛される場合と別のオブジェクトとなる場合があり注意が必要。代入演算子ではオブジェクトを共有して同じメモリ領域を参照するためコピー先のオブジェクトとコピー元のオブジェクトに互いに影響される。コピー先のオブジェクトをコピー元のオブジェクトとリンクさせたくない場合は深いコピー(deep copy)を行う必要がある。

一方、xarray の copy ではデフォルトで深いコピーになる。

x が numpy の場合

Pythonの標準モジュールである copy をインポートし、copy.deepcopyを使う。

import copy
y = copy.deepcopy(x)

x が xarrayの場合

xarray.DataArray.copyはデフォルトで深いコピーになる。

y = x.copy()

参考HP

0
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1