Python Pandas Series.combined()
Python是一种进行数据分析的伟大语言,主要是因为以数据为中心的Python软件包的奇妙生态系统。Pandas就是这些包中的一个,它使导入和分析数据变得更加容易。
Pandas Series.combined()是一个系列数学运算方法。它用于将两个系列合并为一个系列。输出序列的形状与调用者的序列相同。这些元素是由作为参数传递给combined()方法的函数决定的。两个系列的形状必须相同,否则会产生错误。
语法: Series.combine(other, func, fill_value=nan)
参数:
other:其他系列或列表类型,与呼叫者系列相结合。
func:作为参数传递的函数,它将决定该元素应该放在哪个系列的索引上。
fill_value: 在多索引的情况下,水平的整数值。
返回: 具有与调用者系列相同形状的组合系列
示例 #1:
在这个例子中,使用.Series()方法制作了两个列表并将其转换成pandas系列。使用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方法传递。由于系列包含空值,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