当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。