用Numpy索引被倒置

多诺万·汤姆森

我正在忙于阅读Wes Mckinney编写的Python进行数据分析,并且遇到了以下示例,该示例有些令人困惑。它涉及将多个索引数组传递给np数组。

给定以下np.array

[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 15]
 [16 17 18 19]
 [20 21 22 23]
 [24 25 26 27]
 [28 29 30 31]] 

当我们使用以下值在数组上执行花式索引时

arr[[1, 5, 7, 2], [0, 3, 1, 2]]

以下结果

array([ 4, 23, 29, 10]) 

这不是我真正希望的。>我知道它应该返回一个1 d个元素数组,该数组对应于每个实例tupple。它返回的实际值使我感到困惑。

我认为它应该返回的元组应该是(0,1),(5,3),(7、1),(2、2)

应该返回[4,没有这样的元素,没有这样的元素,10]

我到底想念什么?

算了吧

当您为2D数组中的第一个元素建立索引时arr,您将获得第一行:

In [119]: arr = np.array([[0,1,2],[3,4,5]])

In [120]: arr
Out[120]: 
array([[0, 1, 2],
       [3, 4, 5]])

In [123]: arr[0]
Out[123]: array([0, 1, 2])

因此,在NumPy-lingo中,“ 0轴”与的行关联arr还要注意arr列表之间和列表之间的紧密联系

In [126]: lol = [[0,1,2],[3,4,5]]

In [127]: lol[0]
Out[127]: [0, 1, 2]

当然,对于列表列表,lol[0]应该返回第一个项目,这是很有意义的[0, 1, 2]arr[0]行为相同-返回看起来像行的东西

同样,如果沿第二根轴切片,则会得到一列。

In [125]: arr[:, 0]
Out[125]: array([0, 3])

通常,索引的顺序与轴的顺序匹配。首先是0轴,然后是1轴,依此类推。

因此,在2D数组中,0轴与行关联,而1轴与列关联。

如果您正在考虑沿x和y轴排列的数组元素,这可能对您来说是倒向的。在几何中,x轴通常指向右侧,而y轴是垂直的。因此,在几何图形中,坐标(x,y)首先给出水平索引,然后给出垂直索引。

索引数组时,由于上面显示的原因,关联被反向了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用NumPy倒置矩阵

来自分类Dev

用NumPy倒置矩阵

来自分类Dev

倒置多索引

来自分类Dev

hadoop倒置索引计数

来自分类Dev

用数组索引Numpy数组

来自分类Dev

用argsort进行Numpy索引

来自分类Dev

用数组索引numpy数组

来自分类Dev

用numpy数组索引字典

来自分类Dev

numpy / python-用重复的数组索引

来自分类Dev

用numpy的索引矩阵对向量进行索引,类似于MATLAB

来自分类Dev

用任意维度的numpy数组索引numpy数组

来自分类Dev

用元组列表索引一个numpy数组

来自分类Dev

用数组索引的Numpy数组分配操作

来自分类Dev

用numpy获取查找表索引的最快方法

来自分类Dev

用逻辑运算符索引numpy数组

来自分类Dev

用numpy获取查找表索引的最快方法

来自分类Dev

用切片列表索引numpy数组

来自分类Dev

用逻辑运算符索引numpy数组

来自分类Dev

numpy:零行列式矩阵是否可以倒置?

来自分类Dev

用2个索引列表索引2D Numpy数组

来自分类Dev

用元组数组进行Numpy 2d索引,可能还进行Nd索引

来自分类Dev

用另一个numpy数组索引numpy数组列

来自分类Dev

用空索引索引列表

来自分类常见问题

用索引列表替换3d Numpy数组的多个值

来自分类Dev

为什么用括号和逗号索引numpy数组的行为不同?

来自分类Dev

用元组数组进行Numpy 2d和可能的Nd索引

来自分类Dev

用另一个索引多维数组的多个维度-NumPy / Python

来自分类Dev

用另一个数组索引一个numpy数组

来自分类Dev

用从索引到另一个的值填充numpy矩阵