前言
Numpy是python中科学计算的一个基础的包。可以提供多维数组对象,各种派生对象,以及用于数据快速操作的各种API。包括:数组的算数和逻辑运算。傅立叶变换和用于图像操作的历程。与线代有关的操作。
一、如何使用numpy
通过 import numpy as np 即可正常使用
import numpy as np
a = np.arange(15).reshape(3,5)
print(a)
print(a.shape)
二、为什么要使用numpy
1.如何显示程序执行所需时长
方法一:采用datetime包,采集程序开始和结束时间,用以计算程序段的运行时间
代码如下(示例):
import datetime
import time
start_time = datetime.datetime.now()
a = list(range(0,50000,5))
b = list(range(0,100000,10))
out = []
for i,j in zip(a,b):
out.append(i+j)
print(out)
end_time = datetime.datetime.now()
delta = end_time - start_time
delta_gmtime = time.gmtime(delta.total_seconds())
duration_str = time.strftime('%H:%M:%S',delta_gmtime)
print('start time',start_time)
print('end time',end_time)
print('delta time',delta_gmtime)
print('duration',duration_str)
方法二:采用%timeit模块 运算过程一旦有了 Timer 对象,最简单的事就是调用 timeit(),它接受一个参数为每个测试中调用被计时语句的次数,默认为一百万次;返回所耗费的秒数。
2.为什么numpy运行速度快
跟MATLAB的矩阵运算类似。
1.底层是C,部分是Fortan,计算领域最常见的blas+lapack、intel MKL、OpenBlas、ATLAS,并且可以任意切换。;2.numpy有自己的一个指令集合。可以提升运算速度;3.优化:Numpy将所有元素存放在一个数据结构中,不用做类型检查,不需要申请所有元素所拥有的对象。
总结
今天简单学习了如何检测程序运行的时长,并初步了解了Numpy运算的特点。