我有一个500x2矩阵,已使用numpy.random.rand
填充。
输出看起来像这样(但显然是更大的版本):
[ -3.28460744e+00 -4.29156493e-02]
[ -1.90772015e-01 -9.17618367e-01]
[ -2.41166994e+00 -3.76661496e+00]
[ -2.43169366e+00 -6.31493375e-01]
[ -1.48902305e+00 -9.78215901e-01]
[ -3.11016192e+00 -1.87178962e+00]
[ -3.72070031e+00 -1.66956850e+00]
我想将1
追加到每一行的末尾,以便每一行看起来像这样:
[ -3.72070031e+00 -1.66956850e+00 1]
这可能吗?我一直在尝试使用numpy.append()
,但努力找出应该使用的内容。
非常感谢任何帮助!
答案 0 :(得分:0)
a = np.ones((4,2)) * 2
>>> a
array([[ 2., 2.],
[ 2., 2.],
[ 2., 2.],
[ 2., 2.]])
Numpy.concatenate documentation:
The arrays must have the same shape, except in the dimension corresponding to axis
... along which the arrays will be joined.
>>> a.shape
(4, 2)
您希望沿第二个轴连接,以便创建一个形状为(4,1)的数组 - 使用a.shape
中的值来执行此操作。
b = np.ones((a.shape[0], 1))
>>> b.shape
(4, 1)
>>> b
array([[ 1.],
[ 1.],
[ 1.],
[ 1.]])
现在你可以连接
了z = np.concatenate((a,b), axis = 1)
>>> z
array([[ 2., 2., 1.],
[ 2., 2., 1.],
[ 2., 2., 1.],
[ 2., 2., 1.]])
或使用hstack
>>> np.hstack((a,b))
array([[ 2., 2., 1.],
[ 2., 2., 1.],
[ 2., 2., 1.],
[ 2., 2., 1.]])