Python|熊猫 Series.combine()
Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas就是其中之一,它使导入和分析数据变得更加容易。
Pandas Series.combine()
是一系列数学运算方法。这用于将两个系列合二为一。输出系列的形状与调用者系列相同。元素由作为参数传递给combine()
方法的函数决定。两个系列的形状必须相同,否则会引发错误。
Syntax: Series.combine(other, func, fill_value=nan)
Parameters:
other: other series or list type to be combined with caller series
func: Function passed as parameter which will decide from which series the element should be put at that index
fill_value: integer value of level in case of multi index
Return: Combined series with same shape as caller series
示例 #1:
在此示例中,使用 .Series() 方法制作了两个列表并将其转换为熊猫系列。使用 lambda 生成一个函数,该函数检查两个系列中哪个值较小,并返回较小的值。
# importing pandas module
import pandas as pd
# creating first series
first =[1, 2, 5, 6, 3, 7, 11, 0, 4]
# creating second series
second =[5, 3, 2, 1, 3, 9, 21, 3, 1]
# making series
first = pd.Series(first)
# making seriesa
second = pd.Series(second)
# calling .combine() method
result = first.combine(second, (lambda x1, x2: x1 if x1 < x2 else x2))
# display
result
输出:
如输出图像所示,返回的系列在两个系列中的值都较小。
示例 #2:
在此示例中,也使用Numpy.nan
方法传递 Null 值。由于系列包含空值,因此将 5 传递给 fill_value 参数以将空值替换为 5。传递了一个 lambda函数,该函数将比较两个系列中的值并返回较大的值。
# importing pandas module
import pandas as pd
# importing numpy module
import numpy as np
# creating first series
first =[1, 2, np.nan, 5, 6, 3, np.nan, 7, 11, 0, 4, 8]
# creating second series
second =[5, 3, 2, np.nan, 1, 3, 9, 21, 3, np.nan, 1, np.nan]
# making series
first = pd.Series(first)
# making seriesa
second = pd.Series(second)
# calling .combine() method
result = first.combine(second, func =(lambda x1, x2: x1 if x1 > x2 else x2), fill_value = 5)
# display
result
输出:
如输出所示,在组合系列之前,系列中的 NaN 值已替换为 5。
0 5.0
1 3.0
2 2.0
3 5.0
4 6.0
5 3.0
6 9.0
7 21.0
8 11.0
9 5.0
10 4.0
11 8.0
dtype: float64