質問

これにより、しばらく頭を悩まされました。意図せずに配列をNoneでスライスし、エラー以外のものを取得していました(エラーが予想されました)。代わりに、余分な次元を持つ配列を返します。

>>> import numpy
>>> a = numpy.arange(4).reshape(2,2)
>>> a
array([[0, 1],
       [2, 3]])
>>> a[None]
array([[[0, 1],
        [2, 3]]])

この動作は意図的ですか、それとも副作用ですか?意図的である場合、それには何らかの根拠がありますか?

役に立ちましたか?

解決

Noneを使用することは、 numpy.newaxis を使用することと同等であるため、はい、意図的です。実際、それらは同じものですが、もちろん、 newaxis はそれをより正確に綴ります。

ドキュメント

  

newaxisオブジェクトをすべてのスライス操作で使用して、長さ1の軸を作成できます。 newaxisは‘ None’および‘ None’のエイリアスですこれの代わりに同じ結果で使用できます。

関連するSOの質問

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top