當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python Pandas Series.combine_first()用法及代碼示例


Python是進行數據分析的一種出色語言,主要是因為以數據為中心的python軟件包具有奇妙的生態係統。 Pandas是其中的一種,使導入和分析數據更加容易。

Pandas combine_first()方法用於將兩個係列組合為一個。結果是兩個係列的並集,在調用者係列為Null的情況下,將采用傳遞的係列中的值。如果兩個空值在同一索引處,則在該索引處返回空值。

注意:此方法不同於Series.combine(),後者以函數作為參數來確定輸出值。


用法:Series.combine_first(other)

參數:
other:其他係列與來電者係列相結合。

返回類型: Pandas 係列

例:
在此示例中,使用 Pandas 從列表創建了兩個係列Series()方法。一些Null值也使用Numpy傳遞給每個列表 np.nan。然後使用.combine_first()方法。首先,該方法由series1調用,結果存儲在result1中,然後類似地,由series2調用並存儲在result2中。然後將兩個返回的係列都進行打印以比較輸出。

# importing pandas module   
import pandas as pd   
    
# importing numpy module  
import numpy as np  
    
# creating series 1  
series1 = pd.Series([70, 5, 0, 225, 1, 16, np.nan, 10, np.nan])  
    
# creating series 2  
series2 = pd.Series([27, np.nan, 2, 23, 1, 95, 53, 10, 5])  
  
# combining and returning results to variable 
# calling on series1 
result1 = series1.combine_first(series2) 
  
# calling on series2 
result2 = series2.combine_first(series1) 
  
# printing result 
print('Result 1:\n', result1, '\n\nResult 2:\n', result2)

輸出:
如輸出所示,即使合並了相同的係列,但輸出也不同。這是因為combine_first()方法優先於之前的第一個係列(Caller series)。如果該位置沒有空值,則它將取第二個序列相同索引處的值。

Result 1:
 0     70.0
1      5.0
2      0.0
3    225.0
4      1.0
5     16.0
6     53.0
7     10.0
8      5.0
dtype:float64 

Result 2:
 0    27.0
1     5.0
2     2.0
3    23.0
4     1.0
5    95.0
6    53.0
7    10.0
8     5.0
dtype:float64



相關用法


注:本文由純淨天空篩選整理自Kartikaybhutani大神的英文原創作品 Python | Pandas Series.combine_first()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。