如何正确定义以numpy数组作为参数和返回类型的函数?

后果

如我所见,有两个选项。(这里numpy被导入为np)

1.使用lambda表达式

当我们处理一个简单的函数时,可以使用它。说我想实现功能f:(x,y)=(x ^ 2,x + y)。然后,我希望这样的工作:

f = lambda x,y : x**2, x + y

f = lambda x,y : (x**2, x + y)

当我打电话print(f(np.array([[1],[3]],float)))或时print(f(np.array([1,3],float)))但是我无法使这些lambda表达式的任何变体起作用。

2.定义“适当”功能

但是,这确实有效:

def f(vec):
    return np.array([vec[0] ** 2, vec[0] + vec[1]])

但是语法是否最佳?如果我不希望对上述“适当”功能进行矢量化处理,该怎么办。总之,我如何定义一个采用numpy-array值的numpy-array值函数?

hpaulj

使用lambdadef,还是使用本地定义的变量进行计算,都没有关系如果使用函数,则输入参数的数量必须与定义匹配。

但让我们用简单的交互式示例进行演示

定义两个变量:

In [121]: x, y = 1,3                                                                           
In [122]: x**2, x+y                                                                            
Out[122]: (1, 4)             # returns a tuple

定义一个列表:

In [125]: vec = [1,3]                                                                          
In [126]: vec[0]**2, vec[0]+vec[1]                                                             
Out[126]: (1, 4)             # same tuple

或数组:

In [127]: arr = np.array([1,3])                                                                

[126] 也可以使用此方法,但是索引数组的速度较慢。

当我们对整个数组而不是对元素进行处理时,数组是最好的。例如,我们可以对数组的所有项求平方或求和。

In [128]: arr**2, arr.sum()                                                                    
Out[128]: (array([1, 9]), 4)

这些计算将适用于任何大小的数组,而不仅仅是形状(2,)。

以上任何元组都可以转换为数组:

In [133]: np.array([x**2, x+y])                                                                
Out[133]: array([1, 4])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在C宏函数中正确定义和使用参数?

来自分类Dev

定义类型和使用该类型作为模板参数的函数

来自分类Dev

如何通过以结构数组作为参数的此函数返回正确的值?

来自分类Dev

如何返回用户定义类型的数组,然后在VBA中作为参数传递

来自分类Dev

如何在PostgreSQL中将自定义类型的多维数组作为函数参数传递?

来自分类Dev

如何将整个numpy数组作为python中的参数传递给用户定义的函数?

来自分类Dev

使用任何类型的参数和已知的返回类型定义函数

来自分类Dev

快速使用协议作为数组类型和函数参数

来自分类Dev

可变参数函数-确定返回类型

来自分类Dev

确定未定义函数的参数类型

来自分类Dev

JavaScript:编写将对象和函数数组作为输入参数并返回数组的函数

来自分类Dev

如何正确定义move构造函数?

来自分类Dev

如何正确定义jQuery函数

来自分类Dev

如何正确定义结构数组?

来自分类Dev

将 numpy 数组作为函数参数传递

来自分类Dev

C-返回数组作为函数参数

来自分类Dev

从作为模板函数参数传递的std :: function推断返回值和参数类型?

来自分类Dev

C++ 函数模板:必须使用 & 作为参数类型和返回类型吗?

来自分类Dev

不确定如何推断函数参数类型

来自分类Dev

OCaml:如何确定函数参数的类型?

来自分类Dev

在类型为并集的函数中无法正确推断参数和返回类型

来自分类Dev

如何正确地将类成员数组作为返回参数返回

来自分类Dev

可变参数模板函数确定函数指针的返回类型

来自分类Dev

可变参数模板函数确定函数指针的返回类型

来自分类Dev

我如何定义一个类型,该类型代表所有以ArgType作为参数并返回ReturnType的二进制或一元函数?

来自分类Dev

位字段作为参数和函数的返回

来自分类Dev

如何声明一个具有包含数组的结构的函数作为参数的函数,该数组的大小由argv确定。

来自分类Dev

如何编写在运行时确定返回类型的函数(基于参数的值?)

来自分类Dev

返回类型的不完整类型和已声明但未定义的函数的参数

Related 相关文章

  1. 1

    如何在C宏函数中正确定义和使用参数?

  2. 2

    定义类型和使用该类型作为模板参数的函数

  3. 3

    如何通过以结构数组作为参数的此函数返回正确的值?

  4. 4

    如何返回用户定义类型的数组,然后在VBA中作为参数传递

  5. 5

    如何在PostgreSQL中将自定义类型的多维数组作为函数参数传递?

  6. 6

    如何将整个numpy数组作为python中的参数传递给用户定义的函数?

  7. 7

    使用任何类型的参数和已知的返回类型定义函数

  8. 8

    快速使用协议作为数组类型和函数参数

  9. 9

    可变参数函数-确定返回类型

  10. 10

    确定未定义函数的参数类型

  11. 11

    JavaScript:编写将对象和函数数组作为输入参数并返回数组的函数

  12. 12

    如何正确定义move构造函数?

  13. 13

    如何正确定义jQuery函数

  14. 14

    如何正确定义结构数组?

  15. 15

    将 numpy 数组作为函数参数传递

  16. 16

    C-返回数组作为函数参数

  17. 17

    从作为模板函数参数传递的std :: function推断返回值和参数类型?

  18. 18

    C++ 函数模板:必须使用 & 作为参数类型和返回类型吗?

  19. 19

    不确定如何推断函数参数类型

  20. 20

    OCaml:如何确定函数参数的类型?

  21. 21

    在类型为并集的函数中无法正确推断参数和返回类型

  22. 22

    如何正确地将类成员数组作为返回参数返回

  23. 23

    可变参数模板函数确定函数指针的返回类型

  24. 24

    可变参数模板函数确定函数指针的返回类型

  25. 25

    我如何定义一个类型,该类型代表所有以ArgType作为参数并返回ReturnType的二进制或一元函数?

  26. 26

    位字段作为参数和函数的返回

  27. 27

    如何声明一个具有包含数组的结构的函数作为参数的函数,该数组的大小由argv确定。

  28. 28

    如何编写在运行时确定返回类型的函数(基于参数的值?)

  29. 29

    返回类型的不完整类型和已声明但未定义的函数的参数

热门标签

归档