Headers 看起来很复杂,但问题并不那么难 . 我有2个矩阵: data_X
和 data_Y
. 我必须构建一个基于 data_X
的新矩阵,它将包含 data_X
的所有行,其中 data_Y
中 column
列中的对应值不等于 someNumber
. data_Y
也一样 . 例如,这里是5乘2 data_X
矩阵和5乘1 data_Y
矩阵, column
是0和 someNumber = -1
.
[[ 0.09580361 0.11221975]
[ 0.71409124 0.24583188]
[ 0.67346718 0.72550385]
[ 0.40641294 0.01172211]
[ 0.89974846 0.70378831]] # data_X
和 data_Y = np.array([[5], [-1], [4], [2], [-1]])
.
结果将是:
[[ 0.09580361 0.11221975]
[ 0.67346718 0.72550385]
[ 0.40641294 0.01172211]]
[5 4 2]
不难看出这可以通过以下方式实现:
data_x, data_y = [], []
for i in xrange(len(data_Y)):
if data_Y[i][column] != someNumber:
data_y.append(data_Y[i][column])
data_x.append(data_X[i])
但我相信有更简单的方法(比如2或3个numpy操作)来获得我需要的结果 .
1 回答
使用boolean indexing -