您的位置:首页 > 编程语言 > Python开发

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

2016-04-09 22:44 585 查看
原生python与numpy数组向量相加效率对比

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

1、原生python

#向量相加 - 原生Python
def 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实现

#向量相加 - numpy
import numpy

def numpyvector(n):
a = numpy.arange(n) ** 2
b = numpy.arange(n) ** 3
c = a + b
return c

3、效率对比
#效率比较
import sys
from datetime import datetime

n = 1000

start = datetime.now()
c = pythonvector(n)
end = datetime.now() -start

print "The last 3 elements of the result ",c[-3:]
print "pythonvector elapsed time ",end.microseconds

start = datetime.now()
c = numpyvector(n)
end = datetime.now() -start

print "The last 3 elements of the result ",c[-3:]
print "numpyvector elapsed time ",end.microseconds



结果是一样的,效率上numpy远快于原生的python,并且写法上更简洁。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: