微信扫一扫打赏支持

python机器学习库numpy---11、数组合并

python机器学习库numpy---11、数组合并

一、总结

一句话总结:

A、numpy数组水平合并可以用hstack方法、垂直合并可以用vstack;
B、numpy数组合并也可以用concatenate方法,axis为1表示横轴合并(水平合并),axis为0表示纵轴合并(垂直合并)
a
[[1 2]
 [3 4]]

b
[[5 6]]
print(np.vstack((a, b)))
# axis=0 纵轴
print(np.concatenate((a, b), axis=0))

[[1 2]
 [3 4]
 [5 6]]

 

 

二、数组合并

博客对应课程的视频位置:11、数组合并-范仁义-读书编程笔记
https://www.fanrenyi.com/video/38/354

 

1、水平合并:

horizontal stack

In [1]:
import numpy as np
a = np.array([1,2,3])
b = np.array([4,5,6])
print(a)
print(b)
[1 2 3]
[4 5 6]
In [2]:
# 合并数组
# 左右合并 horizontal stack
c = np.hstack((a,b))
print(c)
[1 2 3 4 5 6]

2、垂直合并:

vertical stack

In [3]:
a = np.array([1,2,3])
b = np.array([4,5,6])
# 合并数组
# 垂直合并 vertical stack
c = np.vstack((a,b))
print(c)
print(a.shape)
print(c.shape)
[[1 2 3]
 [4 5 6]]
(3,)
(2, 3)

3、concatenate方法

In [4]:
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6]])
print(a)
print(b)
[[1 2]
 [3 4]]
[[5 6]]

垂直合并

In [5]:
print(np.vstack((a, b)))
[[1 2]
 [3 4]
 [5 6]]
In [6]:
# axis=0 纵轴
print(np.concatenate((a, b), axis=0))
[[1 2]
 [3 4]
 [5 6]]

水平合并

In [7]:
print(a)
print(b.T)
[[1 2]
 [3 4]]
[[5]
 [6]]
In [8]:
print(np.hstack((a, b.T)))
[[1 2 5]
 [3 4 6]]
In [9]:
# axis=1 横轴
print(np.concatenate((a, b.T), axis=1))
[[1 2 5]
 [3 4 6]]
In [ ]:
 
 
posted @ 2020-08-29 02:06  范仁义  阅读(450)  评论(0编辑  收藏  举报