python扩展数组行列数

元气小坏坏 提交于 2019-11-25 22:35:54

对比两种方法,一种是开辟新的空间,将两个数组拼接起来,使数组变长,另一种使用numpy扩展
首先定义两个数组,都reshape成只有一列

arr = np.array([[1,1,1,4],
                        [4,5,5,7]])
arr = arr.reshape((8,1))
arr1 = np.array([[2,1,1,4],
                         [4,5,5,7]])
arr1 = arr1.reshape((8,1))

开辟新数组拼接两个数组

t0 = time.clock()
result = np.zeros((16,1))
result[:8][:] = arr
result[8:][:] = arr1
t1 = time.clock()

使用numpy扩展

arr2 = np.row_stack((arr,arr1))
t2 = time.clock()

对比两个方法使用的时间

print(t1 - t0)
print(t2 - t1)

在这里插入图片描述
结果是直接拼接数组时间比较快,可能是用空间换时间吧,而且数组访问的时间复杂度为O(1)
记录一下
参考链接

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!