【发布时间】:2018-06-06 22:45:42
【问题描述】:
鉴于:
X = [[1, 0, 1, 1], [1, 1, 1, 1], [1, 0, 0, 0]]
y = [1, -1, 0]
X = np.asarray(X, np.uint8)
y = np.asarray(y, np.int8).T
con = np.concatenate(X, y)
print(con)
其中X 应该是大小为 (3,4) 的数据集,y 是矩阵 X 中每一行的类标签。例如,X[0]= [1, 0, 1, 1] 在y[0] 中的类标签等于 1,即y[0]=1。我想将X 和y 合并成一个大小为(3,5) 的矩阵,其中新列是y 列表。但是,前面的代码给了我这个错误:
Traceback (most recent call last):
File "test.py", line 38, in <module>
con = np.concatenate(X, y)
TypeError: only integer scalar arrays can be converted to a scalar index
我不知道如何解决它。任何帮助表示赞赏。
【问题讨论】:
-
创建一个适当大小的数组,然后从列表中赋值?
-
再看一下文档!提示:
concatenate((a1, a2, ...),...。 (我更喜欢 concat 而不是上述评论中的方法) -
你在
con = np.hstack((X, y.reshape(-1,1)))之后吗? -
@MaxU 谢谢马克斯。这正是我正在寻找的。没有足够的积分来投票给你。
标签: python arrays python-2.7 numpy