📜  Python| Pandas Series.combine_first()

📅  最后修改于: 2022-05-13 01:54:59.029000             🧑  作者: Mango

Python| Pandas Series.combine_first()

Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas就是其中之一,它使导入和分析数据变得更加容易。

Pandas combine_first()方法用于将两个系列合并为一个。结果是两个系列的并集,即在调用者系列中的 Null 值的情况下,从传递的系列中获取值。如果两个空值都位于同一索引处,则在该索引处返回空值。

注意:此方法与 Series.combine() 不同,Series.combine() 将函数作为参数来决定输出值。

例子:
在此示例中,使用 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()方法优先于第一个系列(调用者系列)之前。如果该位置有空值,则从第二个系列中获取相同索引处的值。

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