我有一个很大的numpy.ndarray数组,我想从中提取出第4列和第5列,并将这些列放入一个2D数组中。i,0元素应该是第4列的值,而i,1应该是第5列的元素。
我尝试使用numpy.hstack函数来完成此操作。
a = numpy.asarray([1, 2, 3, 4, 5])
for i in range(5):
a = numpy.vstack([a, numpy.asarray([1, 2, 3, 4, 5])])
combined = np.hstack([a[:,3], a[:,4]])但是,这只给了我一个nx1数组。我已经尝试了多种使用连接的方法,如下所示:
combined = np.concatenate([a[:,3], a[:,4]])
combined = np.concatenate([a[:,3], a[:,4]], axis=1)
combined = np.concatenate([a[:,3].T, a[:,4].T])我觉得hstack就是我想要的函数,但我似乎想不出如何让它给我一个nx2数组。有谁能给我指个方向吗?任何帮助都是非常感谢的。
发布于 2013-11-20 00:49:49
我认为这将会做你想要的:
a[:,[3,4]]发布于 2013-11-20 00:52:00
只需按如下方式切出您的数据:
X = [[0 1 2 3 4]
[0 1 2 3 4]
[0 1 2 3 4]
[0 1 2 3 4]]
slicedX = X[:,3:5]结果如下:
[[3 4]
[3 4]
[3 4]
[3 4]]发布于 2013-11-20 00:51:56
您也可以使用zip
>>> c = numpy.array( zip( a[:, 3], a[:, 4]) )
>>> c
array([[4, 5],
[4, 5],
[4, 5],
[4, 5],
[4, 5],
[4, 5]])https://stackoverflow.com/questions/20077146
复制相似问题