numpy库数组拼接np.concatenate
原文:https://blog.csdn.net/zyl1042635242/article/details/43162031
思路:numpy提供了numpy.concatenate((a1,a2,...), axis=0)函数。能够一次完成多个数组的拼接。其中a1,a2,...是数组类型的参数
示例3:
>>> a=np.array([1,2,3])>>> b=np.array([11,22,33])>>> c=np.array([44,55,66])>>> np.concatenate((a,b,c),axis=0) # 默认情况下,axis=0可以不写array([ 1, 2, 3, 11, 22, 33, 44, 55, 66]) #对于一维数组拼接,axis的值不影响最后的结果
>>> a=np.array([[1,2,3],[4,5,6]])>>> b=np.array([[11,21,31],[7,8,9]])>>> np.concatenate((a,b),axis=0)array([[ 1, 2, 3], [ 4, 5, 6], [11, 21, 31], [ 7, 8, 9]])
>>> np.concatenate((a,b),axis=1) #axis=1表示对应行的数组进行拼接array([[ 1, 2, 3, 11, 21, 31], [ 4, 5, 6, 7, 8, 9]])
对numpy.append()和numpy.concatenate()两个函数的运行时间进行比较
示例:
>>> from time import clock as now>>> a=np.arange(9999)>>> b=np.arange(9999)>>> time1=now()>>> c=np.append(a,b)>>> time2=now()>>> print time2-time128.2316728446>>> a=np.arange(9999)>>> b=np.arange(9999)>>> time1=now()>>> c=np.concatenate((a,b),axis=0)>>> time2=now()>>> print time2-time120.3934997107
可知,concatenate()效率更高,适合大规模的数据拼接
转载于:https://www.cnblogs.com/shueixue/p/10953699.html