使用Content
(ellipsis
)索引1-D ...
时,我希望表达式ndarray
和X[0]
在语义上相同。但是,它们的字符串表示不同:
X[..., 0]
我无法找到任何其他差异,事实上,根据In [522]: X = arange(5)
In [523]: repr(X[0])
Out[523]: '0'
In [524]: repr(X[..., 0])
Out[524]: 'array(0)'
它们是平等的:
array_equal
如果它们根据In [526]: array_equal(X[0], X[..., 0])
Out[526]: True
相等,为什么它们有不同的字符串表示?
答案 0 :(得分:4)
X[0]
会返回numpy.int64
个对象
当你说X[0]
时,你告诉python给你数组X
中索引0的对象。
X[...,0]
返回0维numpy数组
当你说X[...,0]
时,你告诉python在数组X
的最后一个轴上给你索引0的项目。