今回は、numpy で配列要素に均一な値を割り当てる方法と、numpy で配列要素に均一な値を割り当てるための 注意事項 を説明します。 以下に実際のケースを示します。
Numpy での配列代入操作全体はいつも少し混乱しており、深く理解できないことがよくあります。今日は関連する知識ポイントを個別にリストアップしてまとめます。まず、コード スニペットの 2 つの小さな例を見てみましょう:
例 1:
In [2]: arr =np.empty((8,4)) In [3]: arr Out[3]: array([[ 0., 0., 0., 0.], [ 0., 0., 0., 0.], [ 0., 0., 0., 0.], [ 0., 0., 0., 0.], [ 0., 0., 0., 0.], [ 0., 0., 0., 0.], [ 0., 0., 0., 0.], [ 0., 0., 0., 0.]]) In [4]: arr[1] = 1 In [5]: arr Out[5]: array([[ 0., 0., 0., 0.], [ 1., 1., 1., 1.], [ 0., 0., 0., 0.], [ 0., 0., 0., 0.], [ 0., 0., 0., 0.], [ 0., 0., 0., 0.], [ 0., 0., 0., 0.], [ 0., 0., 0., 0.]])
例 2:
In [6]: arr1 =np.empty(2) In [8]: arr1 Out[8]:array([ 7.74860419e-304, 7.74860419e-304]) In [9]: arr1 = 0 In [10]: arr1 Out[10]: 0これら 2 つの段落には矛盾があるようです。テント
行動実際、一般的な オブジェクト指向 タグ理解モデルを使用しても理解できます。
例 1 では、index を追加した後のラベルは実際に特定のストレージ領域を参照していますが、例 2 ではラベルが直接使用されています。では、1 次元配列 の全体的な割り当てを実装するにはどうすればよいでしょうか?実際には、すべての要素にインデックスを付けるだけで済みます。具体的な方法は次のとおりです。
In [11]: arr1 =np.empty(2) In [12]: arr1 Out[12]: array([0., 0.]) In [13]: arr1[:] Out[13]: array([0., 0.]) In [14]: arr1[:] =0 In [15]: arr1 Out[15]: array([0., 0.])
非常に簡単そうに見えますが、少し詳しく分析しないと、確かに理解するのが少し難しいです。 この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
推奨書籍:
Python Numpy が配列と行列を操作する方法以上がnumpyで配列要素に均一な値を割り当てる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。