Pandas 在series 中apply() 方法的作用是什么
在 pandas series 中,apply() 方法用于在系列对象上调用我们自己的函数。通过使用这个 apply() 方法,我们可以在系列对象上应用我们自己的函数。
apply() 方法非常类似于其他一些 pandas series 方法,比如 agg() 和 map()。区别在于我们可以将一个函数应用于给定系列对象的值上。
示例1
# import pandas package
import pandas as pd
# create a pandas series
s = pd.Series([1,2,3,4,5,6,7,8,9,10])
print(s)
# Applying a function
result = s.apply(type)
print('Output of apply method',result)
解释
在以下示例中,我们创建了一个包含10个整数值的pandas.Series对象“s”,并使用apply()方法执行该系列对象“s”的所有元素的type函数。
apply()方法的操作与agg()方法类似,但不同之处在于agg()方法仅用于聚合操作,而apply()方法可以用于对系列数据应用任何方法。
输出
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
dtype: int64
Output of apply method
0 <class 'int'>
1 <class 'int'>
2 <class 'int'>
3 <class 'int'>
4 <class 'int'>
5 <class 'int'>
6 <class 'int'>
7 <class 'int'>
8 <class 'int'>
9 <class 'int'>
dtype: object
pandas系列的apply()方法将返回一个新的系列对象,其中包含给定系列对象“s”的每个值的数据类型表示。
示例2
# import pandas package
import pandas as pd
# create a pandas series
s = pd.Series([1,2,3,4,5,6,7,8,9,10])
print(s)
# Apply power(2) function
result = s.apply(pow, args=(2,))
print('Output of apply method',result)
解释
让我们举一个示例,使用apply()方法将带有参数的函数应用到系列对象上。在这里,我们使用了带有参数值2的pow函数。
输出
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
dtype: int64
Output of apply method
0 1
1 4
2 9
3 16
4 25
5 36
6 49
7 64
8 81
9 100
dtype: int64
apply()方法的输出显示在上述代码块中,同时显示了实际的系列对象“s”。pow()函数应用于系列元素并将结果输出作为另一个系列对象返回。
要将函数的参数传递给apply()方法,我们需要使用args关键字参数。