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


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


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

Pandas 係列.combine()是一係列數學運算方法。這用於將兩個係列合並為一個。輸出序列的形狀與調用者序列的形狀相同。元素由作為參數傳遞給的函數決定combine()方法。兩個係列的形狀必須相同,否則將引發錯誤。

用法:Series.combine(other, func, fill_value=nan)

參數:
other:其他係列或要與調用者係列組合的列表類型
func:作為參數傳遞的函數,該函數將決定從哪個係列將元素放入該索引
fill_value:多索引時級別的整數值

返回:與來電者係列形狀相同的組合係列

範例1:

在此示例中,製作了兩個列表,並使用.Series()方法將其轉換為 Pandas 係列。使用lambda生成的函數會檢查兩個序列中哪個值較小,然後返回較小的那個。

# importing pandas module 
import pandas as pd 
  
# creating first series 
first =[1, 2, 5, 6, 3, 7, 11, 0, 4] 
  
# creating second series 
second =[5, 3, 2, 1, 3, 9, 21, 3, 1] 
  
# making series 
first = pd.Series(first) 
  
# making seriesa 
second = pd.Series(second) 
  
# calling .combine() method 
result = first.combine(second, (lambda x1, x2:x1 if x1 < x2 else x2)) 
  
# display 
result

輸出:
如輸出圖像中所示,返回的序列具有兩個序列中較小的值。


範例2:

在這個例子中,Null值也使用Numpy.nan方法。由於係列包含空值,因此將5傳遞給fill_value參數以將空值替換為5。傳遞了lambda函數,該函數將比較兩個係列中的值並返回較大的值。

# importing pandas module 
import pandas as pd 
  
# importing numpy module 
import numpy as np 
  
# creating first series 
first =[1, 2, np.nan, 5, 6, 3, np.nan, 7, 11, 0, 4, 8] 
  
# creating second series 
second =[5, 3, 2, np.nan, 1, 3, 9, 21, 3, np.nan, 1, np.nan] 
  
# making series 
first = pd.Series(first) 
  
# making seriesa 
second = pd.Series(second) 
  
# calling .combine() method 
result = first.combine(second, func =(lambda x1, x2:x1 if x1 > x2 else x2), fill_value = 5) 
  
# display 
result

輸出:
如輸出所示,在合並序列之前,將序列中的NaN值替換為5。


0      5.0
1      3.0
2      2.0
3      5.0
4      6.0
5      3.0
6      9.0
7     21.0
8     11.0
9      5.0
10     4.0
11     8.0
dtype:float64


相關用法


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