maxframe.dataframe.Series.combine#

Series.combine(other, func, fill_value=None)#

根据 func 将 Series 与另一个 Series 或标量进行合并。

使用 func 对 Series 和 other 进行元素级操作以生成合并后的 Series。当两个对象中某一个在某个索引处缺失值时,使用 fill_value 填充。

参数:
  • other (Series or scalar) -- 要与 Series 合并的值。

  • func (function) -- 接受两个标量作为输入并返回一个元素的函数。

  • fill_value (scalar, optional) -- 当某个索引在一个 Series 中缺失时所使用的默认值。默认值会根据 Series 的底层数据类型使用相应的 NaN 值。

返回:

将 Series 与其他对象合并后的结果。

返回类型:

Series

参见

Series.combine_first

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

示例

考虑两个数据集 s1s2,它们包含不同鸟类的最高速度。

>>> import maxframe.dataframe as md
>>> s1 = md.Series({'falcon': 330.0, 'eagle': 160.0})
>>> s1.execute()
falcon    330.0
eagle     160.0
dtype: float64
>>> s2 = md.Series({'falcon': 345.0, 'eagle': 200.0, 'duck': 30.0})
>>> s2.execute()
falcon    345.0
eagle     200.0
duck       30.0
dtype: float64

现在,合并这两个数据集,并查看所有鸟类在这两个数据集中记录的最高速度

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

在前面的例子中,由于 NaN 与浮点数的最大值仍然是 NaN,因此鸭子(duck)的结果值缺失。所以在示例中我们设置了 fill_value=0,这样返回的最大值将会是某个数据集中的实际值。

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