Numpy 配列の割り当て: メモリ割り当ての違い
NumPy では、配列に値を割り当てる一般的な方法が 3 つあります。
B = A
B = A を使用する場合、新しい配列は作成されません。代わりに、新しい名前 (B) を既存の配列 (A) にバインドします。その結果、一方の配列に加えられた変更はもう一方の配列にも反映されます。
B[:] = A
この構文は、 A と同じ次元と値。元の配列 A は変更されません。このメソッドは、numpy.copy に比べて必要なメモリ割り当てが少なくて済みます。
numpy.copy(B, A)
このメソッドは、作成した時点では正当ではありません。 B = numpy.copy(A) である必要があります。 numpy.copy は、A と同じ次元と値を持つ新しい配列 B を作成します。この方法では、元の配列からデータの物理コピーを個別に作成するため、B[:] = A と比較してより多くのメモリ割り当てが必要になります。
追加メモリはいつ割り当てられますか?
追加メモリは、numpy.copy を使用して配列の新しい物理コピーを作成するときに割り当てられます。これは、コピーされたデータに新しい連続したメモリ ブロックが割り当てられるためです。
メモリが割り当てられないのはどのような場合ですか?
B = A を使用するとメモリが割り当てられません。元の配列の名前を変更しているだけだからです。 B[:] = A を使用する場合も、元の配列と同じメモリ位置が再利用されるため、メモリは割り当てられません。
以上がNumPy 配列の割り当てで追加のメモリが割り当てられるのはいつですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。