【发布时间】:2021-06-18 20:42:01
【问题描述】:
我正试图了解 numpy 的精美索引。 在尝试解决以下问题时,我目前无法解决问题:
给定以下 np.array t.
t = np.array([[6, 1, 8],
[4, 3, 7],
[9, 5, 2]])
我想使用精美的索引来实现以下模式
array([[8, 1, 8],
[1, 8, 1],
[8, 1, 8]])
我最接近的方法是
array([[8, 1, 8],
[8, 1, 8],
[8, 1, 8]])
使用t[:,[2,1,2]][[0,0,0]]
如何解决这些问题?
【问题讨论】:
-
什么是“花式索引”?你的意思是 Python 的标准列表切片语法?因为如果是这样,网络上已经有大量关于如何使用它的解释器。当然,包括在 SO 上。例如。 stackoverflow.com/questions/509211/understanding-slice-notation
-
感谢您的指出。在花哨的索引(与列表切片不同)中,将数组作为索引传递。
-
花式索引绝对是一个 Python 数据科学术语(尽管很少使用)。简单的谷歌搜索会显示这一点。没必要啰嗦。这里有一个很好的阅读:jakevdp.github.io/PythonDataScienceHandbook/…@Mike'Pomax'Kamermans
-
没有 sass,只是对一个我从未见过的不寻常术语感到困惑,尽管我曾多次使用 numpy。
-
@Mike'Pomax'Kamermans,该链接适用于
numpy,而不是基础 Python。 numpy.org/doc/stable/reference/… 使用名称高级索引。对于列表,只有 2 个选项 - 切片和单个索引。