对于1-D`X`,`X [n]`和`X [...,n]`有什么区别?

时间:2016-02-10 18:12:37

标签: python numpy ellipsis

使用Contentellipsis)索引1-D ...时,我希望表达式ndarrayX[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 相等,为什么它们有不同的字符串表示?

1 个答案:

答案 0 :(得分:4)

X[0]会返回numpy.int64个对象 当你说X[0]时,你告诉python给你数组X中索引0的对象。

X[...,0]返回0维numpy数组 当你说X[...,0]时,你告诉python在数组X的最后一个轴上给你索引0的项目。