Python| Pandas Series.combine_first()
Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas就是其中之一,它使导入和分析数据变得更加容易。
Pandas combine_first()
方法用于将两个系列合并为一个。结果是两个系列的并集,即在调用者系列中的 Null 值的情况下,从传递的系列中获取值。如果两个空值都位于同一索引处,则在该索引处返回空值。
注意:此方法与 Series.combine() 不同,Series.combine() 将函数作为参数来决定输出值。
Syntax: Series.combine_first(other)
Parameters:
other: Other series to be combined with caller series.
Return type: Pandas series
例子:
在此示例中,使用 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