码迷,mamicode.com
首页 > 其他好文 > 详细

NumPy 上手一个例子 vectorsum.py

时间:2016-04-29 00:13:49      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:

  NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。据说NumPy将Python相当于变成一种免费的更强大的MatLab系统。NumPy本身用C实现。

 

  翻了一下PACKT出版社的学习指南,第一章有一个对比计算效率的例子拿来作为上手。

  结果是,在本机32bit的python上跑出来的效果跟书上相差很多,首先是32bit的python整形上限跟64bit相差很多:

>>> sys.maxsize
2147483647

另外还有就是datetime计时精读存在问题。

不管怎样,就当是尝试一把吧,

代码在下面,问题解决  stackoverflow

#-*- coding:utf-8 -*-
import sys
from datetime import datetime
import numpy as np
"""
 Input format:  python vectorsum.py n
 n: the excepted size for the vector
"""

def numpsysum(n):
    a = np.arange(n) ** 2
    b = np.arange(n) ** 3
    c = a + b
    return c
    
def pythonsum(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
        
size = int(sys.argv[1])
start = datetime.now()
c = pythonsum(size)
delta = datetime.now() - start
print "The last 2 elements of the pythonsum is:",c[-2:]
print "Python method cost time : ",delta.microseconds
start = datetime.now()
c = numpsysum(size)
delta = datetime.now() - start
print "The last 2 elements of the numpysum is:",c[-2:]
print "NumPy method cost time : ",delta.microseconds

 

暂时没有大规模处理的需求。留念~

注:Linux上自带的python maxsize是 9223372036854775807

 

NumPy 上手一个例子 vectorsum.py

标签:

原文地址:http://www.cnblogs.com/learn-to-rock/p/5444810.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!