原生python与numpy数组向量相加效率对比

来源:互联网 发布:ubuntu社区中文版 编辑:程序博客网 时间:2024/06/08 11:44

原生python与numpy数组向量相加效率对比


计算一个数据元素的平方与立方之和

1、原生python

#向量相加 - 原生Pythondef pythonvector(n):    a = range(n)    b = range(n)    c = []    for i in range(len(a)):        a[i] = i ** 2        b[i] = i ** 3        c.append(a[i] + b[i])    return c


2、numpy实现

#向量相加 - numpyimport numpydef numpyvector(n):    a = numpy.arange(n) ** 2    b = numpy.arange(n) ** 3    c = a + b    return c

3、效率对比

#效率比较import sysfrom datetime import datetimen = 1000start = datetime.now()c = pythonvector(n)end = datetime.now() -startprint "The last 3 elements of the result ",c[-3:]print "pythonvector elapsed time ",end.microsecondsstart = datetime.now()c = numpyvector(n)end = datetime.now() -startprint "The last 3 elements of the result ",c[-3:]print "numpyvector elapsed time ",end.microseconds





结果是一样的,效率上numpy远快于原生的python,并且写法上更简洁。

2 0
原创粉丝点击