Numpy分裂矩阵的方式

时间:2015-03-25 22:04:08

标签: python numpy

我有一个(n x k)维矩阵X和一个(n x 1)维矩阵Y.我的问题是使用NumPy如何根据Y矩阵中相同索引上的元素拆分矩阵X.其中的示例数据可以是:

    X      ,   Y
[ 1.4  0.2], ['class_A']
[ 1.3  0.2], ['class_B']
[ 1.5  0.2], ['class_C']
[ 1.4  0.2], ['class_a']
[ 1.7  0.4], ['class_A']
[ 1.4  0.3], ['class_B']
[ 1.5  0.2], ['class_C']
.........

我已经尝试使用简单的python,但我想通过NumPy来做,但我没有找到任何功能。

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,你可以索引一个布尔数组,例如:

In [8]: import numpy as np

In [9]: X = np.arange(16).reshape(8, 2)

In [10]: Y = np.array([0,0,1,1,2,2,2,1])

In [11]: X[Y == 1]
Out[11]: 
array([[ 4,  5],
       [ 6,  7],
       [14, 15]]