Python函数之frompyfunc

自定义一个函数并调用

1
2
3
4
5
6
7
8
9
import numpy as np

def func_x(a):
y = a + 1
return y

print(func_x(x)) # 调用
# 输出
# 2

frompyfunc 函数

如果a不是一个数,而是一个向量或数组呢?这时需要使用numpy中的通用函数np.frompyfunc(func,1,1), 这里的参数func指的是你要使用的函数,第二个参数为func中的参数个数,第三个参数为func中的返回值的个数。现在进一步改写为计算数组的情况:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import numpy as np

def func_x(a):
y = a + 1
return y

A = [0, 1, 2]
func_ = np.frompyfunc(func_x, 1, 1)

y = func_(A)

print(y)
# 结果:
# [1 2 3]

参考文章

np.frompyfunc()函数的使用 Numpy | 函数向量化