如何在n维数组中选择值

让弗朗西斯

我一直试图执行一个简单的操作,但是我似乎找不到一种简单的方法来使用Numpy函数而不创建不必要的数组副本。

假设我们具有以下3维数组:

In [171]: x = np.arange(24).reshape((4, 3, 2))
In [172]: x
Out[172]: 
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]]])

和以下数组:

In [173]: y = np.array([0, 1, 1, 0])

我想x为每行选择最后一个维度的值,该维度的索引是中的相应元素y换句话说,我想要:

array([[ 0,  2, 4],
       [ 7,  9, 11],
       [13, 15, 17],
       [18, 20, 22]])

我目前唯一的解决方案是在xand的第一个维度上使用for循环y,如下所示:

z = np.zeros((4, 3), dtype=int)
for i, row in enumerate(x):
    z[i, :] = row[:, y[i]]

有没有办法避免使用numpy函数或奇特的索引进行for循环?

谢谢!

双锂矩阵

棘手的方面是,您不希望每个切片都具有所有的第0维,而是希望这些切片第0维中的每个元素相对应因此,您可以执行以下操作:

>>> x[np.arange(x.shape[0]), :, y]
array([[ 0,  2,  4],
       [ 7,  9, 11],
       [13, 15, 17],
       [18, 20, 22]])

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从二维数组中选择一个随机值?

来自分类Dev

如何从对象数组中选择字段值?

来自分类Dev

如何在某个值上的基本关联数组中选择一个数组

来自分类Dev

如何在Oracle Varray中选择值

来自分类Dev

如何在SAS中选择特定值

来自分类Dev

如何在QuickSort中选择枢轴值?

来自分类Dev

如何在元组中选择最旧的值

来自分类Dev

如何在 Codeigniter 中选择 MAX 值?

来自分类Dev

如何生成N维随机值数组?

来自分类Dev

如何在UI选择值中选择值?

来自分类Dev

如何在UI选择值中选择值?

来自分类Dev

PHP:如何在不使用数组的情况下从MySQL中的单行中选择单个值

来自分类Dev

如何在数组列表中选择特定位置值

来自分类Dev

如何在numpy结构化数组中选择一行并设置值?

来自分类Dev

如何在numpy数组中选择具有特定值的特定行列对?

来自分类Dev

如何在键表中选择多项选择值

来自分类Dev

从numpy二维数组中选择特定范围以绘制值

来自分类Dev

如何在Octave中将值分配给n维数组中的多个单元格

来自分类Dev

jq从数组中选择值

来自分类Dev

在oneliner中选择数组中的n个最大值

来自分类Dev

如何从下拉列表中选择的值填充JavaScript数组?

来自分类Dev

如何从数组中选择一个值?

来自分类Dev

Unserscore模板-如何从数组中选择一个值?

来自分类Dev

如何从下拉列表中选择的值填充JavaScript数组?

来自分类Dev

如何从PHP中的数组中选择特定的值?

来自分类Dev

如何在numpy数组中选择特定的列?

来自分类Dev

如何在Oracle PL / SQL中选择INTO数字数组?

来自分类Dev

如何在数据框的数组列中选择元素?

来自分类Dev

如何在foreach循环中选择“子数组”

Related 相关文章

热门标签

归档