如何在NumPy数组上映射一个函数

如何在NumPy数组上映射一个函数

在这篇文章中,我们将看到如何在Python中在NumPy数组上映射一个函数。

方法一:numpy.vectorize()方法

numpy.vectorize()函数在包含NumPy数组等对象序列的数据结构上映射函数。嵌套的对象序列或NumPy数组作为输入,并返回单个NumPy数组或NumPy数组的元组。

import numpy as np
  
arr = np.array([1, 2, 3, 4, 5])
  
def addTwo(i):
    return i+2
    
applyall = np.vectorize(addTwo)
res = applyall(arr)
print(res)

输出:

[3 4 5 6 7]

解释:该函数被传递给向量方法,并再次将数组传递给它,该函数将返回应用数组的数组。

方法2:使用lambda函数

lambda是一个匿名函数,它接受任何数量的参数,但评估一个表达式。

import numpy as np
  
arr = np.array([1, 2, 3, 4, 5])
  
def applyall(i): 
  return i + 2
  
res = applyall(arr)
print(res)

输出:

[3 4 5 6 7]

方法3:用一个数组作为函数的参数来映射一个NumPy数组

我们可以将一个函数映射到一个NumPy数组上,只需将数组传递给函数。

import numpy as np
  
arr = np.array([1, 2, 3, 4, 5])
  
def applyall(a):
    return a+2
  
res = applyall(arr)
print(res)

输出:

[3 4 5 6 7]

解释:数组被传递给applyall()方法,它将把函数映射到整个数组,并返回结果数组。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Numpy 数组操作