2024-06-30 17:06:43 发布
网友
我有一个np.数组用户矩阵和另一个列表用户列表。我想将user\u-clust连接到user\u matrix的最后一列。下面是我的代码。在
np.concatenate( (user_matrix, user_clust), 1)
但我得到了一个错误:
两个数据集的维度:
user_matrix.shape #(10000, 110) user_clust.shape #(10000,)
我知道用户群是一维的,不像二维的用户矩阵,但不知道如何解决这个问题。在
您似乎有一个二维数组,并希望在末尾添加一个向量作为新列:
>>> import numpy as np >>> mat = np.arange(12).reshape(3,4) >>> mat array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> vct = np.arange(100, 103) >>> vct array([100, 101, 102]) >>> np.concatenate((mat, vct.reshape(vct.shape + (1,))), axis=1) array([[ 0, 1, 2, 3, 100], [ 4, 5, 6, 7, 101], [ 8, 9, 10, 11, 102]])
另一个选择是使用np.append:
np.append
还有一个选择是np.hstack:
np.hstack
>>> np.hstack( (mat, vct.reshape(vct.shape + (1,))) ) array([[ 0, 1, 2, 3, 100], [ 4, 5, 6, 7, 101], [ 8, 9, 10, 11, 102]])
在所有情况下,都需要将向量vct重塑为列向量:
vct
根据hpaulj在评论中的建议,将vct转换为列向量的另一种方法是使用以下形式:
>>> vct[..., None] array([[100], [101], [102]]) >>> np.concatenate((mat, vct[..., None]), axis=1) array([[ 0, 1, 2, 3, 100], [ 4, 5, 6, 7, 101], [ 8, 9, 10, 11, 102]])
您似乎有一个二维数组,并希望在末尾添加一个向量作为新列:
另一个选择是使用
^{pr2}$np.append
:还有一个选择是
np.hstack
:诀窍
在所有情况下,都需要将向量
^{4}$vct
重塑为列向量:备选方案
根据hpaulj在评论中的建议,将
vct
转换为列向量的另一种方法是使用以下形式:相关问题 更多 >
编程相关推荐