Numpy.fromfunction用法
来源:互联网 发布:在淘宝卖东西赚钱吗 编辑:程序博客网 时间:2024/06/16 02:22
numpy.fromfunction(function, shape, **kwargs):Construct an array by executing a function over each coordinate.
参数说明:function:回调函数
shape:整数元组,若是一维数组,则shape为(数组长度,)
下面通过几个例子看看numpy.fromfunction构造数组的机制
In [1]: import numpy as npIn [2]: np.fromfunction(lambda i :i ,(4,))Out[2]: array([ 0., 1., 2., 3.])In [3]: np.fromfunction(lambda i,j:i+j,(2,3))Out[3]:array([[ 0., 1., 2.], [ 1., 2., 3.]])看到上述结果是不是觉得有点奇怪,也不清楚怎么来的。那下面我们来看看传给回调函数的i,j的值到底是啥?给函数多传个参数行不行呢?
In [6]: def f(*args): ...: print(args) ...: np.fromfunction(f,(2,3)) ...:(array([[ 0., 0., 0.], [ 1., 1., 1.]]), array([[ 0., 1., 2.], [ 0., 1., 2.]]))结果上看:传给回调函数确实是只有两个参数,是两个数组,这和shape参数到底有啥关系呢?
#fromfunction源码def fromfunction(function, shape, **kwargs): dtype = kwargs.pop('dtype', float) args = indices(shape, dtype=dtype) return function(*args,**kwargs)#从源代码看,indices如何把shape参数转为对应的i,j参数,下面看看indices用法#numpy.indices(dimensions, dtype=<type 'int'>):子数组包含仅沿对应轴变化的索引值args = np.indices((2,3))#等同np.mgrid[0:2,0:3]#args#array([[[0, 0, 0],[1, 1, 1]],[[0, 1, 2],[0, 1, 2]]])i,j=argsi #array([[0, 0, 0],[1, 1, 1]])j #array([[0, 1, 2],[0, 1, 2]])i+j#array([[0, 1, 2],[1, 2, 3]])两数组对应元素级相加#结论:shape参数决定了输出数组的形状
0 0
- Numpy.fromfunction用法
- Python函数--numpy.fromfunction( )
- Python numpy函数:fromfunction以函数式创建数组
- python map() 和 numpy函数:fromfunction以函数式创建数组
- numpy用法
- numpy用法
- numpy 用法
- numpy函数tile用法
- numpy mean()用法
- NumPy 常见用法
- numpy函数:shape用法
- Numpy reshape用法
- numpy函数:shape用法
- python numpy用法讲解
- numpy基本用法
- numpy中的where用法
- numpy中linspace用法
- numpy 矩阵的用法
- 第七章 7-3 使用键盘模仿鼠标操作
- 我的第一篇博客
- Java设计模式
- Q:使用font-size:0 来去掉元素之间的空隙或错位的方法
- HAUTOJ 1261: 地狱飞龙 自适应辛普森算法
- Numpy.fromfunction用法
- Nuttx的启动
- 精简dubbo框架,原理解析
- fprintf
- [转]并发和并行的区别
- JAVA基础——集合
- java servlet 制作验证码
- java基础配置安装
- 常用的正则表达式