Pandas series的combine_first()方法如何工作

Pandas series的combine_first()方法如何工作

pandas series的combine_first()方法用于将两个series对象合并。它的工作原理类似于series.combine()方法,但不同之处在于它使用另一个series对象在相同位置更新空值元素。combine_first()方法只接受一个参数,即第二个series对象。

combine_first()方法接受两个series对象,并通过用另一个series对象中的非空值填充来更新空值元素。

示例1

import pandas as pd
import numpy as np

# create pandas Series1
series1 = pd.Series([2, 4, np.nan, 7])

print("First series object:",series1)

# create pandas Series2
series2 = pd.Series([9,4,5,6])

print("Second series object:",series2)

# combine
print("combined series:",series1.combine_first(series2))

说明

在这个示例中,我们创建了两个pandas的Series对象,分别是“series1”和“series2”,series1中包含了一个NaN值。接着我们对这两个Series对象运用了combine_first()方法。

输出

First series object:
0 2.0
1 4.0
2 NaN
3 7.0
dtype: float64

Second series object:
0 9
1 4
2 5
3 6
dtype: int64

combined series:
0 2.0
1 4.0
2 5.0
3 7.0
dtype: float64

在上面的输出块中,我们可以看到通过combine_first()方法创建的结果系列对象。这里,在索引位置“2”上的NaN值被来自第二个系列对象同位置的元素更新。而剩余的值仅通过第一个系列的元素进行更新。

示例2

import pandas as pd
import numpy as np

# create pandas Series1
series1 = pd.Series([3,6,8,7])

print("First series object:",series1)

# create pandas Series2
series2 = pd.Series([9,4,5,np.nan])

print("Second series object:",series2)

# combine
print("combined series:",series1.combine_first(series2))

解释

在这个示例中,第二个系列对象有一个NaN值,可以用第一个系列对象相同位置的元素进行更新。

输出

First series object:
0 3
1 6
2 8
3 7
dtype: int64

Second series object:
0 9.0
1 4.0
2 5.0
3 NaN
dtype: float64

combined series:
0 3
1 6
2 8
3 7
dtype: int64

Series.combine_first() 方法返回一个有更新空值的系列。结果系列对象的行索引将是两个输入系列对象的并集。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Pandas 精选笔记