Skip to main content
 首页 » 编程设计

python之如何将一个添加到矩阵

2025年05月04日14cyq1162

我有一个数组:

X = [[2, 2, 2], 
     [3, 3, 3], 
     [4, 4, 4]] 

我需要在 numpy 数组中添加额外的列,并使用 hstack 和 reshape 填充它。像那样:

X = [[2, 2, 2, 1], 
     [3, 3, 3, 1], 
     [4, 4, 4, 1]] 

我的工作:

X = np.hstack(X, np.ones(X.reshape(X, (2,3)))) 

出现错误:

TypeError: only length-1 arrays can be converted to Python scalars 

有什么问题?我做错了什么?

请您参考如下方法:

这里有一些使用 numpy.append、numpy.hstack 或 numpy.column_stack 的方法:

# numpy is imported as np 
>>> x 
array([[2, 2, 2], 
       [3, 3, 3], 
       [4, 4, 4]]) 
>>> np.append(x, np.ones([x.shape[0], 1], dtype=np.int32), axis=1) 
array([[2, 2, 2, 1], 
       [3, 3, 3, 1], 
       [4, 4, 4, 1]]) 
>>> np.hstack([x, np.ones([x.shape[0], 1], dtype=np.int32)]) 
array([[2, 2, 2, 1], 
       [3, 3, 3, 1], 
       [4, 4, 4, 1]]) 
>>> np.column_stack([x, np.ones([x.shape[0], 1], dtype=np.int32)]) 
array([[2, 2, 2, 1], 
       [3, 3, 3, 1], 
       [4, 4, 4, 1]])