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


Pandas Series 中的 combine_first() 方法用于合并两个 Series 对象。它的工作原理类似于 series.combine() 方法,区别在于它使用另一个 Series(第二个 Series 对象)中相同位置的元素来更新空元素。combine_first() 方法只接受一个参数,即第二个 Series 对象。

combine_first() 方法接受两个 Series 对象,并通过填充另一个 Series 对象中的非空值来更新空元素。

示例 1

import pandas as pd
import numpy as np

# create pandas Series1
series1 = pd.Series([2, 4, np.nan, 7])

print("First series object:",series1)

# create pandas Series2
series2 = pd.Series([9,4,5,6])

print("Second series object:",series2)

# combine
print("combined series:",series1.combine_first(series2))

解释

在这个例子中,我们创建了两个 Pandas Series 对象“series1”和“series2”,series1 创建了一个 NaN 值。然后我们在这两个 Series 对象上应用了 combine_first() 方法。

输出

First series object:
0 2.0
1 4.0
2 NaN
3 7.0
dtype: float64

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

combined series:
0 2.0
1 4.0
2 5.0
3 7.0
dtype: float64

在上面的输出块中,我们可以看到由 combine_first() 方法创建的结果 Series 对象。这里,索引位置“2”处的 NaN 值被第二个 Series 对象相同位置的元素更新。其余值仅由第一个 Series 的元素更新。

示例 2

import pandas as pd
import numpy as np

# create pandas Series1
series1 = pd.Series([3,6,8,7])

print("First series object:",series1)

# create pandas Series2
series2 = pd.Series([9,4,5,np.nan])

print("Second series object:",series2)

# combine
print("combined series:",series1.combine_first(series2))

解释

在这个例子中,第二个 Series 对象有一个 NaN 值,它可以用第一个 Series 对象相同位置的元素更新。

输出

First series object:
0 3
1 6
2 8
3 7
dtype: int64

Second series object:
0 9.0
1 4.0
2 5.0
3 NaN
dtype: float64

combined series:
0 3
1 6
2 8
3 7
dtype: int64

Series.combine_first() 方法返回一个更新了空值的 Series。结果 Series 对象的行索引将是两个输入 Series 对象的并集。

更新于: 2022年3月9日

606 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.