我的变量x有100个数点,我想把它们放到一个矩阵中,但是在矩阵的前面有一列1。所以它看起来是[11 11 ....[x1 x2 .....]
有办法做到这一点吗?
假设数组为numpy数组:
import numpy as np
xs = np.random.random(size=100)
ones = np.ones(shape=len(array))
输出:
# xs (100 values)
array([3.50037538e-01, 1.08917935e-01, 7.91498597e-01, 3.60795423e-01,
...
5.72706863e-01, 4.58894874e-01, 2.42843260e-01, 6.09427238e-01])
# ones (100 values)
array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
...
1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])
合并同一维度
>>> np.r_[ones, xs]
np.array([1., 1., ... 1., 3.50037538e-01, 1.08917935e-01, ...])
合并为列
>>> np.c_[ones, xs]
array([[1.00000000e+00, 3.50037538e-01],
[1.00000000e+00, 1.08917935e-01],
[1.00000000e+00, 7.91498597e-01],
...
[1.00000000e+00, 6.09427238e-01]])
假设列表
x_list = xs.tolist()
ones_list = [1]*len(x_list)
输出:
# x_list (100 values)
[3.50037538e-01, 1.08917935e-01, 7.91498597e-01, 3.60795423e-01,
...
5.72706863e-01, 4.58894874e-01, 2.42843260e-01, 6.09427238e-01]
# ones_list (100 values)
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
...
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])
合并同一维度
>>> x_list+ones_list
[1, 1,..., 1, 3.50037538e-01, 1.08917935e-01, ...]
在第二次元中合并
>>>> list(zip(ones_list, x_list))
[(1, 0.3500375382514712),
(1, 0.10891793499403313),
...
(1, 0.6094272384712242)]