本文主要是介绍numpy之用concatenate()拼接数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我们有时会需要将数据进行拼接,在pandas中可以利用concat()等,而在numpy中可以利用numpy.concatenate()
语法:concatenate((a1, a2, …), axis=0)
说明:(a1, a2, …)为待拼接的数据,可以是一维,也可以是多维。axis决定着怎么将数据拼接:axis=0是将数据按列拼接(即竖着拼接);axis=1是将数据按行拼接(即横着拼接);axis=None则是先将数据拉成一维向量,再拼接。
eg1: 数据都是一维的
import numpy as npdata1 = np.array([1, 2, 3, 4]) #[1 2 3 4]
data2 = np.array([5, 6]) #[5 6]
print(np.concatenate((data1, data2))) #[1 2 3 4 5 6]
eg2: 数据都是二维的,axis=0,按列拼接,要求列数相同,不然会报错
import numpy as npdata1 = np.array([[1, 2], [3, 4]]) #[[1 2]# [3 4]]data2 = np.array([[5, 6]]) #[[5 6]]print(np.concatenate((data1, data2))) #[[1 2]# [3 4]# [5 6]]
eg3: 数据都是二维的,axis=1,按行拼接,要求行数相同,上例中的data1有两行,而data2只有一行,因此需要将data2转置为两行的,不然会报错。
import numpy as npdata1 = np.array([[1, 2], [3, 4]]) #[[1 2]# [3 4]]data2 = np.array([[5, 6]]) #[[5 6]]#将data2转置
print(np.concatenate((data1, data2.T), axis=1)) #[[1 2 5]# [3 4 6]]
eg4: 数据都是二维的,axis=None
import numpy as npdata1 = np.array([[1, 2], [3, 4]]) #[[1 2]# [3 4]]data2 = np.array([[5, 6]]) #[[5 6]]#将data2转置
print(np.concatenate((data1, data2.T), axis=None)) #[1 2 3 4 5 6]
这篇关于numpy之用concatenate()拼接数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!