1.Numpy导入和性能对比

1#引用Numpy的包

首先打开jupyter notebook

import numpy as np
np.__version__#查看Numpy版本,这两步没报错则成功

为测试Numpy,现设置项目如下:

#需求
#实现两个数组的加法 数组A是1~N-1数字的平方 数组B是1~N数字的立方
#对比使用Numpy和原生Python的性能对比

#使用Python原生语法实现对比:

def python_sum(n):
    a = [i**2 for i in range(n)]
    b = [i**3 for i in range(n)]
    c = []
    for i in range(n):
        c.append(a[i]+b[i])
    return c

#进行测试
python_sum(10)

 

#使用Numpy实现

def numpy_sum(n):
    a = np.arange(n)**2#把a变成Numpy中的数组
    b = np.arange(n)**3
    return a+b#在Python中把两个list相加是合并成一个大list numpy中则是对应元素相加

#进行测试
numpy_sum(10)

2#性能对比:执行1000次

#%timeit#输出函数执行时间  下面分别对应平均时间 平均波动时间  每次循环次数
%timeit python_sum(1000)
%timeit numpy_sum(1000)

 #性能对比 执行10W次

%timeit python_sum(100000)
%timeit numpy_sum(100000)

#性能对比 执行1000W次 

%timeit python_sum(1000*10000)
%timeit numpy_sum(10000000)

#绘制性能对比图

pytimes = [393, 4.38*1000,4.34*1000*1000]
nptimes = [5.15,532,6.23*1000] #分别采用上述测试的平均时长数据作为数值参考

import pandas as pd#应用pandas库作为制表工具

df = pd.DataFrame({
    "pytimes":pytimes,
    "nptimes":nptimes,
})

df

%matplotlib inline
df.plot.bar()#运用matplotlib作出可视化图像,对比得到numpy在数组运算上快与python原生代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值