关于x,y一维数组合并为二维数组[x,y]的问题

来源:5-3 简单线性回归的实现

zyczxl

2019-08-06

x=[0, 1, 2, 3, 4]
y=[5, 6, 7, 8, 9]
调用np.array([x,y]).reshape(5,2)
理想中的:
position=[[0, 5],
[1, 6],
[2, 7],
[3, 8],
[4, 9]]
现实中的:
position=[[0, 1],
[2, 3],
[4, 5],
[6, 7],
[8, 9]]

老师请问这个怎么办?

写回答

1回答

liuyubobobo

2019-08-06

reshape 会先将 x 和 y 合并成一维数组,即[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],然后化成 5 * 2的数组,就是:

[[0, 1],
[2, 3],
[4, 5],
[6, 7],
[8, 9]]


对于你的需求,可以先将x,y化成 5 * 1的数组,再纵向连接起来:

np.hstack([x.reshape(-1,1), y.reshape(-1,1)])


关于hstack的使用,可以再复习一下3-6小节。


继续加油!:)

0
1
zyczxl
非常感谢!
2019-08-06
共1条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5893 学习 · 2454 问题

查看课程