1. ホーム
  2. python

[解決済み] Numpyです。newaxisとNoneのどちらを使うべきですか?

2023-01-03 02:41:29

質問

numpyでは、スライス構文で「newaxis」オブジェクトを使用して、例えば長さ1の軸を作成することができます。

import numpy as np
print np.zeros((3,5))[:,np.newaxis,:].shape
# shape will be (3,1,5)

この のドキュメントでは を使うこともできると書いてあります。 None の代わりに newaxis のようにしても、効果は全く同じです。

どちらかを選択する理由はありますか?一般的な好み、またはスタイル ガイドはありますか?私の印象では newaxis の方がより人気があるようです。おそらく、より明確だからでしょう。では、なぜ None が許される理由はあるのでしょうか?

どのように解決するのですか?

None が許可されているのは numpy.newaxis は単に None .

In [1]: import numpy

In [2]: numpy.newaxis is None
Out[2]: True

著者がこれを選んだのは、おそらく便利な定数が必要だったからでしょうし None が利用できたからでしょう。

を好む理由としては newaxis よりも None の方がより明示的であるというのが主な理由です。 numpy 以外のものに変更する可能性があるからです。 None . (彼らはそれを計画していませんし、おそらくしないでしょう。 None .)