Python+numpy实现函数向量化
来源:互联网 发布:lua ide for mac 编辑:程序博客网 时间:2024/06/05 19:25
Python本身对向量操作的支持并不是很好,需要借助列表推导式或函数式编程来实现,例如:
>>> import random
# 生成随机测试数据
>>> x = random.sample(range(1000), 5)
>>> y = random.sample(range(1000), 5)
# 列表推导式,模拟向量减法
>>> [vecX-vecY for vecX, vecY in zip(x,y)]
[-171, -370, -66, 282, 231]
# 列表推导式,模拟向量减法
>>> f = lambda a, b: a-b
>>> [f(a,b) for a, b in zip(x,y)]
[-171, -370, -66, 282, 231]
# 函数式编程,map,模拟向量加法
>>> list(map(lambda a, b: a+b, x, y))
[1067, 488, 1486, 998, 327]
Python扩展库numpy本身提供的大量函数都具有向量化的特点,并且可以把普通的Python函数向量化,可以使得Python操作向量更方便:
>>> import numpy as np
# 定义一个普通的减法函数
>>> def sub(a, b): return a-b
# 把减法函数向量化
>>> vecSub = np.vectorize(sub)
>>> print(vecSub(x,y))
[-171 -370 -66 282 231]
# 把加法lambda表达式向量化
>>> vecAdd = np.vectorize(lambda a, b: a+b)
>>> print(vecAdd(x,y))
[1067 488 1486 998 327]
----------喜大普奔----------
1、继《Python程序设计基础》《Python程序设计(第2版)》《Python可以这样学》系列图书之后,董付国老师新书《Python程序设计开发宝典》已于2017年8月1日在清华大学出版社出版。为庆祝新书《Python程序设计开发宝典》全面上架,清华大学出版社联合“赣江图书专营”淘宝店推出特价优惠活动,《Python程序设计开发宝典》原价69元,新书上架期间超低价39.8元,可以复制下面的链接使用浏览器打开查看图书详情和购买:
https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-14464369246.84.46f16db0roWfX4&id=557107249812&rn=339cbc9df2bac424664103917dedfbd2&abbucket=8&tbpm=3
2、10月13日——15日,重庆,全国高校程序设计系列课程高级研究班,详见:全国高校程序设计系列课程高级研修班(Python)通知
- Python+numpy实现函数向量化
- python numpy 把数据向量化
- 神经网络向量化实现
- 《python for data analysis》笔记二--Numpy 基础:arrays 和向量化计算 1
- 《python for data analysis》笔记三--Numpy基础:arrays和向量化计算2
- Python实现文本型数据的向量化:TF-IDF
- python 自然语言处理 代码实现(批量读取,分词,词向量化)
- 向量化与for循环耗时对比——python实现
- 文本向量化-计算文本相似的的方法-基于python语言的实现
- matlab向量化函数bsxfun matlab20170315
- 自己实现MATLAB支持向量化输入输出的零阶修正贝塞尔函数
- python numpy.tile函数
- Python&Numpy:tile函数
- python numpy.tile函数
- python numpy triu_indices函数
- Python Numpy Tutorials: 函数
- Python函数--numpy.fromfunction( )
- 向量化
- Python+sklearn使用线性回归算法预测儿童身高
- Python使用matplotlib填充图形指定区域
- 使用Anaconda3配置多版本Python虚拟开发环境详细步骤
- Python编程常见出错信息及原因分析(3)
- Python+pyplot绘制带文本标注的柱状图
- Python+numpy实现函数向量化
- Python花式编程案例集锦(5)
- 使用Python内置集合对象和内置函数filter()过滤无效书评
- cmd黑窗口查看端口占用、相应进程、杀死进程的命令
- 使用线性回归拟合平面最佳直线及预测之Python+sklearn实现
- Spring4-@Enable** 注解的实现原理
- 面试题:this和super关键字分别代表什么?以及他们各自使用场景和作用?
- 表单用post方法提交数据时乱码问题(转)
- 数据结构——第二讲、线性结构(8)