我有一个矩阵(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.]])
任何想法如何轻松完成?