NumPy基础(一)

安装自行解决

##为什么使用NumPy

文件 vectorSumCompare.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'teng'
import sys
from datetime import datetime
import numpy as np

def numpysum(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)
print "pythonsum:", c
delta = datetime.now() - start
print "The last 2 elements of the sum", c[-2:]
print "PythonSum elapsed time in microseconds", delta.microseconds
start = datetime.now()
c = numpysum(size)
print "numpysum:", c
delta = datetime.now() - start
print "The last 2 elements of the sum", c[-2:]
print "NumPySum elapsed time in microseconds", delta.microseconds

运行以上脚本 如python vectorSumCompare.py 10000 

Numpy的优点 

简单

数据量大的时候 速度快

##NumPy数组对象

调试方法shape 返回一个tuple 元组中的元素为NumPy数组每一个维度上的大小

arange 一维数组

In [15]: m = np.array([np.arange(2), np.arange(2)])

In [16]: m

Out[16]: array([[0, 1],[0, 1]])

In [17]: m.shape

Out[17]: (2, 2)

ndarray是一个多维数组对象:

分为两个部分 实际数据和描述这些数据的元数据