Pandas 如何将匿名函数应用于系列

Pandas 如何将匿名函数应用于系列

pandas系列构造函数拥有一个apply()方法,它接受任何应用于给定系列对象的用户定义函数。

同样,我们可以在pandas系列对象上应用匿名函数。我们可以在pandas数据结构DataFrame和Series上使用此apply()方法。它进行逐元素的转换,并返回一个新的系列对象作为结果。

示例1

# import pandas package
import pandas as pd
import numpy as np

# create a pandas series
s = pd.Series(np.random.randint(10,20,5))
print(s)

# Applying an anonymous function
result = s.apply(lambda x: x**2)
print('Output of apply method',result)

解释

在下面的示例中,我们使用lambda函数作为匿名函数来应用apply()方法。

首先,我们使用NumPy的random模块创建了一个包含5个整数值的pandas.Series对象“s”,然后我们使用apply()方法和lambda函数应用了平方函数。

输出

0 12
1 17
2 11
3 15
4 15
dtype: int32

Output of apply method
0 144
1 289
2 121
3 225
4 225
dtype: int64

代码s.apply(lambda x:x ** 2)将计算系列元素的每个值的平方。这里的lambda是一个匿名函数。apply()方法将返回一个新的系列对象,显示在上面的输出块中。

示例2

# import pandas package
import pandas as pd
import numpy as np

# create a pandas series
s = pd.Series(np.random.randint(10,20,5))
print(s)

# Applying an anonymous function
result = s.apply(lambda x : True if x%2==0 else False)
print('Output of apply method',result)

说明

让我们再次使用 pandas series 对象,并应用一个匿名函数,这里我们应用了一个 lambda 函数来识别 series 对象“s”的偶数和奇数值。

输出

0 15
1 18
2 15
3 14
4 18
dtype: int32

Output of apply method
0 False
1 True
2 False
3 True
4 True
dtype: bool

给定示例中apply()方法的输出显示在上面的块中,同时显示了实际的系列对象“s”。

结果系列对象具有布尔值(True和Fales),True代表偶数,False代表奇数。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Pandas 精选笔记