跳转至

蟒蛇|熊猫系列. combine_first()

原文:https://www.geesforgeks.org/python-pandas-series-combine_first/

Python 是进行数据分析的优秀语言,主要是因为以数据为中心的 python 包的奇妙生态系统。 【熊猫】 就是其中一个包,让导入和分析数据变得容易多了。

熊猫 combine_first() 的方法是将两个系列组合成一个。结果是两个序列的并集,如果调用者序列中有空值,则取传递序列中的值。如果两个空值都在同一个索引处,则在该索引处返回空值。

注:该方法不同于 Series.combine() 以函数为参数决定输出值。

语法: Series.combine_first(其他)

参数: 其他:其他系列要结合来电者系列。

回归类型:熊猫系列

示例: 在本例中,使用熊猫Series()方法从列表中创建了两个系列。一些空值也通过 Numpy np.nan传递给每个列表。然后使用.combine_first()方法组合这两个系列。首先由系列 1 调用方法,结果存储在结果 1 中,然后类似地由系列 2 调用方法,结果存储在结果 2 中。然后打印两个返回的序列来比较输出。

# 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



回到顶部