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 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告