如何更简便合并同长度Numpy (N,1)列数组为(N,2)数组?
更简洁的Numpy数组水平拼接方法
假设你有两个形状为(N,1)的Numpy列数组:
>>> a array([[0.], [2.], [4.], [6.]]) >>> b array([[0.], [1.], [2.], [3.]])
你希望将它们拼接成形状为(N,2)的数组,以下几种方法比你当前的实现更直接简洁:
- 使用
np.hstack():专门用于水平堆叠数组,直接传入数组列表即可
>>> np.hstack((a, b)) array([[0., 0.], [2., 1.], [4., 2.], [6., 3.]])
- 使用
np.concatenate():通过指定axis=1实现水平拼接
>>> np.concatenate((a, b), axis=1) array([[0., 0.], [2., 1.], [4., 2.], [6., 3.]])
- 使用
np.column_stack():专为将一维数组/列数组拼接成二维数组设计,用法更直观
>>> np.column_stack((a, b)) array([[0., 0.], [2., 1.], [4., 2.], [6., 3.]])
以上三种方法都能一步到位实现需求,无需额外的reshape和transpose操作,代码可读性更强。
内容的提问来源于stack exchange,提问作者fearless_fool
相关产品推荐
相关产品推荐

