【问题标题】:How slicing and ellipsis works in numpy?切片和省略号如何在 numpy 中工作?
【发布时间】:2016-09-12 12:54:14
【问题描述】:

我一直在阅读一个非常古老的 Numpy 文档,发现了一个奇怪的符号,我无法理解。文档说a[i:...]a[i,:,:,:] 的快捷方式。

旧文档非常模糊,我欢迎任何 cmets。

谢谢, 优先级

【问题讨论】:

  • 你的问题无疑比文档更模糊。不过我会看看actual documentation
  • 等等,什么?我在看错误的文档?哈哈
  • a[,:,:,] 是语法错误
  • 你能解释一下这个索引/拼接是如何工作的吗,我不明白这个概念。
  • 为什么不自己创建一个数组并测试它的作用?

标签: python numpy slice ellipsis


【解决方案1】:

三个句号...(而不是 (U+2026))指的是Ellipsis 单例对象。它没有内置的特殊操作,但经常用于对表达式进行切片。

没有内置类使用 Ellipsis 对象,但是 NumPy 在对数组进行切片时使用 ... 作为快捷方式,例如,x 是一个 4D 数组:x[i, ...] 等效于 x[i, :, :, :]

NumPy - Indexing

【讨论】:

    【解决方案2】:

    arr[:,:,1] 是 numpy 使用的精美索引,它选择 arr 中最后一列的第一个元素。花式索引只能在 numpy 数组中使用,而不能在 python 的传统列表中使用。 另外,就像它在 cmets 中指出的那样,a[,:,:,] 是一个语法错误。

    这很有帮助,因为您可以轻松选择列

    【讨论】:

    • 谢谢约翰!我编辑了我的问题,我认为我不应该给出 a[,:,:,] 的例子,这显然是错误的,我天真地给出了它。但我的主要问题是在索引过程中省略号是如何工作的。感谢您回答约翰,我很感激,其他人都专注于指出我的错误而不是回答我的问题。
    猜你喜欢
    • 1970-01-01
    • 2010-09-12
    • 1970-01-01
    • 2019-06-25
    • 2021-04-16
    • 1970-01-01
    • 2015-07-21
    相关资源
    最近更新 更多