
您对有效使用NumPy的思维模式有误。NumPy数组存储在连续的内存块中。如果要向现有阵列添加行或列,则需要将整个阵列复制到新的内存块中,从而为要存储的新元素创建间隙。如果反复进行以构建数组,则效率非常低下。
在添加行的情况下,最好的选择是创建一个与数据集最终大小一样大的数组,然后逐行向其分配数据:
>>> import numpy>>> a = numpy.zeros(shape=(5,2))>>> aarray([[ 0., 0.], [ 0., 0.], [ 0., 0.], [ 0., 0.], [ 0., 0.]])>>> a[0] = [1,2]>>> a[1] = [2,3]>>> aarray([[ 1., 2.], [ 2., 3.], [ 0., 0.], [ 0., 0.], [ 0., 0.]])
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)