欢迎来到Introzo百科
Introzo百科
Numpy.frompyfunc() 将计算单个值的函数转换为计算数组中每个元素的函数
-->
Numpy.frompyfunc() 将计算单个值的函数转换为计算数组中每个元素的函数
不再通过遍历对数组中的元素进行操作,使用frompyfunc()将计算单个值的函数转换为计算数组中每个元素的函数
这是示例代码:
# -*- 编码:utf-8 -*-
”“”
创建于 2020 年 11 月 20 日星期五 17:18:11
@作者:潘
”“”
导入时间
将 numpy 导入为 np
arr = np.random.randint(30000, 大小=(1000, 600), dtype='int16')
def calc(arr):
condlist = [arr<5000,5000<=arr<10000,15000<=arr<20000,20000<=arr<25000,arr>=25000]
funclist = [lambda arr:arr*0.55,lambda arr:arr*0.81,lambda arr:arr*0.972,lambda arr:arr*1.067,lambda arr:arr*1.5]
out = np.piecewise(arr, condlist, funclist)
返回
#循环法
结果 = np.zeros((1000,600))
t1 = 时间.time()
对于范围(1000)内的 i:
对于范围 (600) 内的 j:
tep = calc(arr[i][j])
结果[i][j] = tep
print('LOOP 使用时间: {} 秒'.format(time.time()-t1))
# 使用 frompyfunc() 将计算单个值的函数转换为计算数组中每个元素的函数
# frompyfunc(func, nin, nout)
# func 为要转换的函数 nin 为输入参数个数 noout 为返回值个数
calc_ufunc = np.frompyfunc(calc, 1, 1)
t2 = 时间.time()
img1 = calc_ufunc(arr).astype(np.float)
print('frompyfunc 使用时间: {} 秒'.format(time.time()-t2))
print('计算数据已完成')
输出:
LOOP 使用时间:20.85917043685913 秒
frompyfunc 使用时间:12.103625059127808 秒
可以看到代码方便了很多,但是速度提升并不明显。接下来我们就探讨一下如何提高速度
欢迎关注公众号了解更多精彩内容。 公众号优质技术博客和学习心得不定期更新
-->
相关文章
- 10-05 长电科技表示,已具备4nm手机芯片封装能力,以及C
- 10-05 中国信息通信研究院公布可信隐私计算评估结果, Mo
- 10-05 信通院:2022年7月国内手机出货量1990.8万
- 10-05 Numpy.frompyfunc() 将计算单个值
- 10-05 C语言·删除数组第0个元素
- 10-05 (2)NumPy库初识(数组运算和运算)
- 10-05 什么是手机副卡
- 10-05 副手机卡可以独立吗?
- 10-05 手机主卡可以查询副卡的哪些信息
- 10-05 如何修复 WINDOWS 11/10 中磁盘空间使
- 10-05 4 款最佳 Windows 11 声卡可供选择
- 10-05 如何在 Windows 10/11 上加速 Goo
- 10-05 什么是增值电信服务
- 10-05 电信卡的定向流量包括哪些软件?
- 10-05 电信app叫什么名字
- 10-05 什么是独立显卡直连?
- 10-05 独立显卡直连是什么意思?
- 10-05 为什么复制密码后打开淘宝不弹出弹窗?
- 10-05 PHP提高培训学校_php软件培训中心
- 10-05 vs创建项目跳回创建窗口_vs2017创建项目无法
- 最近发表