numpy数组根据列表输出列返回包含在额外数组中的行

时间:2016-09-18 15:21:42

标签: python arrays numpy

我有一个矩阵(2d numpy数组),我想创建一个新的2d数组,由原始矩阵的列子集组成。我试过的是:

X[:, columnList]columnList = [1, 3 ,5](列列表就是一个例子)。但是发生的事情是,这是一个二维数组,其中每一行都包含在另一个数组中。

示例:

X = np.array([[1.0, 2.0, 3.0, 1.0, 2.0], [4.0, 5.0, 6.0, 1.0, 2.0], [7.0, 8.0, 9.0, 51.0, 221.0], [10.0, 11.0, 12.0, 91.0, 22.0], [13.0, 14.0, 15.0, 41.0, 82.0], [16.0, 17.0, 18.0, 11.0, 32.0], [19.0, 20.0, 21.0, 12.0, 23.0], [22.0, 23.0, 24.0, 6.0, 12.0], [25.0, 26.0, 27.0, 4.0, 8.0]])


featureList = [1, 3]
dataMat = X[:, [featureIndexList]]

dataMat的输出:

array([[[  2.,   1.]],

   [[  5.,   1.]],

   [[  8.,  51.]],

   [[ 11.,  91.]],

   [[ 14.,  41.]],

   [[ 17.,  11.]],

   [[ 20.,  12.]],

   [[ 23.,   6.]],

   [[ 26.,   4.]]])

我想要的是什么:

array([[  2.,   1.],

   [  5.,   1.],

   [  8.,  51.],

   [ 11.,  91.],

   [ 14.,  41.],

   [ 17.,  11.],

   [ 20.,  12.],

   [ 23.,   6.],

   [ 26.,   4.]])

任何想法如何轻松完成?

0 个答案:

没有答案