我有两个数组,第一个数组是(n行, 6列),叫做X
:
[[ 0.2 7.7 -6.2 0.4 9.6 -2.4]
[ 0.1 7.2 -6.3 0.4 9.5 -2.1]
[ 0.02 7.9 -5.8 0.2 9.1 -3.5]
...
[-3.6 7.9 -5.3 -0.7 9.4 -0.4]
[-1.2 8.8 -4.1 -0.4 9.8 0.9]
[-1.2 9.6 1.2 -1.0 9.8 1.6]]
第二个是(n个元素),即
Y
:[100. 101. 102. 103. 100. 100. 100. 100. 100. 100. 100. 100. 100. 100.
100. 100. 100. 100. 100. 100. 100. 101. 101. 101. 101. 101. 101. 101.
...
105. 105. 105. 105. 105. 105. 105. 105. 105. 105. 105. 105. 105. 105.
105. 107. 108. 109.]
我希望有第三个C数组(n行,7列),例如Z
:
[[ 0.2 7.7 -6.2 0.4 9.6 -2.4 100.]
[ 0.1 7.2 -6.3 0.4 9.5 -2.1 101.]
[ 0.02 7.9 -5.8 0.2 9.1 -3.5 102.]
...
[-3.6 7.9 -5.3 -0.7 9.4 -0.4 107.]
[-1.2 8.8 -4.1 -0.4 9.8 0.9 108.]
[-1.2 9.6 1.2 -1.0 9.8 1.6 109.]]
我有这段代码来完成它:
import numpy as np
Y.resize((2, 1))
Z = np.concatenate((X, Y), axis=1)
但是我收到了以下错误信息:
Y.resize((2, 1))
ValueError: resize only works on single-segment arrays
有人能帮我修复这个问题吗?
Y[:, np.newaxis]
将Y转换为2D数组(一个列向量),然后通过np.hstack((X, Y[:, np.newaxis]))
水平堆叠它们。 - Niklas Mertsch