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
を好む理由はありません。)