pandas.Series.combine#

Series.combine(other, func, fill_value=None)[源代码]#

根据 func 将 Series 与 Series 或标量合并。

使用 func 结合 Series 和 other 来执行组合 Series 的元素级选择。当某个对象缺失值时,假定 fill_value

Parameters:
other仅包括浮点数、整数、布尔列。不适用于 Series。

要与 Series 结合的值。

funcfunction

接受两个标量作为输入并返回一个元素的函数。

fill_valuescalar, optional

当某个 Series 或另一个 Series 缺少某个索引时,要使用的值。默认为使用 Series 底层 dtype 的适当 NaN 值。

Returns:
Series

结合 Series 和其他对象的组合结果。

参见

Series.combine_first

结合 Series 值,优先选择调用 Series 的值。

Examples

考虑两个包含不同鸟类最高时钟速度的数据集 s1s2

>>> s1 = pd.Series({'falcon': 330.0, 'eagle': 160.0})
>>> s1
falcon    330.0
eagle     160.0
dtype: float64
>>> s2 = pd.Series({'falcon': 345.0, 'eagle': 200.0, 'duck': 30.0})
>>> s2
falcon    345.0
eagle     200.0
duck       30.0
dtype: float64

现在,将两个数据集组合起来,并查看两个数据集中鸟类速度的最高值。

>>> s1.combine(s2, max)
duck        NaN
eagle     200.0
falcon    345.0
dtype: float64

在前面的示例中,鸭子的结果值为缺失,因为 NaN 和浮点数的最大值是 NaN。因此,在示例中,我们将 fill_value=0,这样返回的最大值就是来自某个数据集的值。

>>> s1.combine(s2, max, fill_value=0)
duck       30.0
eagle     200.0
falcon    345.0
dtype: float64