前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Numpy 修炼之道 (13)—— 将python函数向量化

Numpy 修炼之道 (13)—— 将python函数向量化

作者头像
abs_zero
修改2018-05-26 14:38:13
3.2K0
修改2018-05-26 14:38:13
举报
文章被收录于专栏:AI派AI派AI派

推荐阅读时间:4min~5min 文章内容: 使用Numpy将python函数向量化

想要实现将python函数向量化,Numpy中的vectorize 和frompyfunc函数都可以满足要求。

vectorize 函数

Numpy的 vectorize 函数能够实现将普通的python函数转化成具有向量化的功能。简单来说就是,如果一个python函数只能对单个元素进行某种处理操作,经过vectorize 转化之后,能够实现对一个数组进行处理。

>>> add_one([1, 2, 3])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 2, in add_one
TypeError: can only concatenate list (not "int") to list
>>> vadd_one = np.vectorize(add_one)
>>> vadd_one([1, 2, 3])
array([2, 3, 4])

需要注意的是,vectorize函数主要作用是提供便利,而不是性能。它的实现本质上是for循环。

更详细的内容请参见:

https://docs.scipy.org/doc/numpy1.13.0/reference/generated/numpy.vectorize.html

frompyfunc 函数

frompyfunc 函数可以实现类似的功能,不过它需要指定输入参数的个数与返回结果的个数。

>>> uadd_one = np.frompyfunc(add_one, 1, 1)
>>> uadd_one([1, 2, 3])
array([2, 3, 4], dtype=object)

更详细的内容请参见:

https://docs.scipy.org/doc/numpy1.13.0/reference/generated/numpy.frompyfunc.html#numpy.frompyfunc

作者:无邪,个人博客:脑洞大开,专注于机器学习研究。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 脑洞科技栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • vectorize 函数
  • frompyfunc 函数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档