Pandas Series 的 combine() 方法是如何工作的?


Pandas Series 的 combine() 方法用于根据指定的函数合并两个 Series 对象。series.combine() 方法接受两个必需的位置参数。第一个参数是另一个 Series 对象,第二个参数是一个函数。

该方法根据指定的函数合并来自每个 Series 对象的两个元素,并将其作为输出 Series 对象的一个元素返回。

此方法有一个可选参数 fill_value。如果索引在一个或另一个 Series 对象中缺失,则可以使用指定的值填充该缺失的索引值,否则默认值为 Nan。

示例 1

import pandas as pd

# create pandas Series1
series1 = pd.Series([1,2,3,4,5,6])

print("First series object:",series1)

# create pandas Series2
series2 = pd.Series([10,20,30,40,50,60])

print("Second series object:",series2)

# combine series with max function
print("combined series:",series1.combine(series2, max))

解释

在这个例子中,我们将使用“max”函数合并两个 Series 元素。“max”函数接受两个元素,一个来自 series1 对象,另一个来自 series2。它将比较这两个元素并返回单个最大元素。

输出

First series object:
0 1
1 2
2 3
3 4
4 5
5 6
dtype: int64

Second series object:
0 10
1 20
2 30
3 40
4 50
5 60
dtype: int64

combined series:
0 10
1 20
2 30
3 40
4 50
5 60
dtype: int64

Series1 和 Series2 对象由整数值创建,我们在这两个 Series 对象上应用了 combine() 方法。我们可以在上面的输出块中看到生成的 Series 对象。

示例 2

import pandas as pd

# create pandas Series1
series1 = pd.Series({'A':13,'B':48,"C":98, "D":38})

print("First series object:",series1)

# create pandas Series2
series2 = pd.Series({'A':32,'B':18,"C":1, "D":85,'E':60 })

print("Second series object:",series2)

# combine series with max function
print("combined series:",series1.combine(series2, max))

解释

最初,我们使用 Python 字典创建了两个 Pandas Series 对象。然后使用“max”函数应用 combine() 方法。

输出

First series object:
A 13
B 48
C 98
D 38
dtype: int64

Second series object:
A 32
B 18
C  1
D 85
E 60
dtype: int64

combined series:
A 32.0
B 48.0
C 98.0
D 85.0
E  NaN
dtype: float64

这里,series1 和 series2 使用“max”函数合并。在这个例子中,两个 Series 对象具有相同的索引标签,但是 series2 有一个额外的索引标签“E”。在合并这两个 Series 对象时,这个额外的标签在另一个 Series 中不可用,因此默认情况下将填充为 Nan 值。

更新于:2022年3月9日

241 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.