我正在尝试使用 numpy hstack 水平堆叠数组,但无法正常工作。相反,所有内容都出现在一个列表中,而不是一个“类似矩阵”的二维数组。
import numpy as np
y = np.array([0,2,-6,4,1])
y_bool = y > 0
y_bool = [1 if l == True else 0 for l in y_bool] #convert to decimals for classification
y_range = range(0,len(y))
print y
print y_bool
print y_range
print np.hstack((y,y_bool,y_range))
打印这个:
[ 0 2 -6 4 1]
[0, 1, 0, 1, 1]
[0, 1, 2, 3, 4]
[ 0 2 -6 4 1 0 1 0 1 1 0 1 2 3 4]
如何让最后一行看起来像这样:
[0 0 0
2 1 1
-6 0 2
4 1 3]
最佳答案
如果你想创建一个二维数组,做:
print np.transpose(np.array((y, y_bool, y_range)))
# [[ 0 0 0]
# [ 2 1 1]
# [-6 0 2]
# [ 4 1 3]
# [ 1 1 4]]
关于python - 堆叠 numpy 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12229124/