これまでに詳細を調べる前に、私は同様の問題を探していましたが、そのほとんどは私のために働く解決策ではありません。ここで古い配列に影響を与えない新しい同一の配列を作成する
は私がしようとしたものです:
my_array = np.zeros([5,5])
for i in range(4):
temp = my_array[:]
temp +=1
は、だから私はそれを変更することなく、my_arrayでの試行錯誤を行う必要があります。これは、いくつかの重要な点を持つ簡略版です。しかし、私はmy_arrayとtempの両方を変更しました。
これまでのところ、このWeb上のソリューションでは[:]または.copyが使用されていました。私は両方の方法を試みましたが、それでもmy_arrayに影響します。
ご協力いただきましてありがとうございます。
[別にnumpyの配列からデータをコピーする方法]の可能な重複(https://stackoverflow.com/questions/6431973/how-to-copy-data-from -a-numpy-array-to-another) –
'[:]'の使用はスライシングと呼ばれます。配列をスライスすると、元の配列表現のビューが得られます。その参照先のデータはスライスの前と同じです。そのため、他のものを変更することなく編集することはできません。 しかし、 'a.copy()'は常にあなたの配列のディープコピーを作成します。あなたはそれを編集せずに編集することができます。 forループの前に 'temp = my_array.copy()'を実行するだけです。 – Timo