【发布时间】:2019-02-02 14:40:38
【问题描述】:
高级索引的定义意味着 x[(1,2,3),] 与 x[(1,2,3)] 根本不同。后者相当于 x[1,2,3] 将触发基本选择,而前者将触发高级索引。请务必了解发生这种情况的原因。
和
在选择对象,obj是非元组序列对象,ndArray(数据类型整数或bool)或至少一个序列对象的元组或ndarray(数据类型为整数或布尔值)。高级索引有两种类型:整数和布尔值。
但是在我自己的测试中,即使对于元组,如果它没有至少一个 slice 对象、一个 np.newaxis 或一个 Ellipse 对象,那么它将触发高级索引
import numpy as np
arr = np.zeros(shape=(5,5,5))
arr[(1,2,3)].flags.owndata # evaluates to True
这是正确的行为吗?
【问题讨论】:
-
arr[1,2,3]是一个单一元素,一个np.float64对象。