从数组中包含的行索引中选择矩阵的列[重复]

Posted

技术标签:

【中文标题】从数组中包含的行索引中选择矩阵的列[重复]【英文标题】:Select columns of a matrix out of rows indexes contained in an array [duplicate] 【发布时间】:2020-06-23 22:22:09 【问题描述】:

假设我有一个给定维度的矩阵,以及一个包含一系列值的数组。数组中包含的值是我要从矩阵中提取值的行的索引。所以,一个例子可能是:

A = np.array([[3, 6, 7, 5, -3, 0], [5, -2, 2, 51, -13, 8], [13, -17, 18, 22, -12, 90], [33, -12, 12, 32, -42, 90]])

B = np.array([0, 2, 3])

预期的结果:

array([[ 3,  7,  5],
       [ 5,  2, 51],
       [13, 18, 22],
       [33, 12, 32]])

【问题讨论】:

我投票决定关闭它,因为这是 NumPy 基本功能的问题。这些信息在 numpy 文档中很容易获得,并且至少在一个重复的问题中,因此我看不出它对任何未来的读者有用。 这能回答你的问题吗? How to access the ith column of a NumPy multidimensional array? 【参考方案1】:

这在numpy 中非常简单——只需执行:

A[:, B]

一些有用的参考:https://docs.scipy.org/doc/numpy/user/basics.indexing.html

【讨论】:

以上是关于从数组中包含的行索引中选择矩阵的列[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Matlab:分配给具有列\行索引对的矩阵[重复]

从表中选择不同的记录并执行重复行的列总和(托盘、总和)。并显示重复的行一次[关闭]

如何从数据数组中删除对象(核心数据)

我如何从数据框中删除具有重复/重复索引的行[重复]

根据另一个数组中包含的索引有效地求和 4D 数组

从 2 个数据帧中删除重复项 [重复]