
Pandas
merge_first 和 fillna 的区别

excel
1. merge_first
merge_first 函数用于将两个 DataFrame 对象合并,并填充缺失值。
首先,我们需要了解 DataFrame 对象。DataFrame 是 Pandas 中最常用的数据结构,类似于数据库表格或 excel 表格。它由多个列组成,每一列可以是不同的数据类型。当我们需要处理多个相关的数据列时,可以将它们存储在 DataFrame 中,以便进行统一的操作。
merge_first 函数的作用是将两个 DataFrame 对象按照索引进行合并,如果某个索引在其中一个 DataFrame 中存在,而在另一个 DataFrame 中不存在,则将缺失值填充为另一个 DataFrame 中对应索引的值。
下面是一个使用 merge_first 函数的示例代码:
import Pandas as pd# 创建两个 DataFrame 对象data1 = {'A': [1, 2, 3], 'B': [4, 5, 6]}data2 = {'A': [1, 2], 'B': [7, 8]}df1 = pd.DataFrame(data1, index=[0, 1, 2])df2 = pd.DataFrame(data2, index=[1, 2])# 使用 merge_first 函数合并并填充缺失值result = df1.merge(df2, how='outer').merge_first(df2)print(result)运行以上代码,输出结果如下:
A B0 1 41 2 82 3 6
可以看到,原始的 df1 中缺少了索引为 0 的数据,merge_first 函数会根据 df2 中相同索引的数据进行填充,最终得到合并后的结果。
2. fillna
fillna 函数用于填充 DataFrame 或 Series 对象中的缺失值。
与 merge_first 不同,fillna 是针对单个 DataFrame 或 Series 对象进行操作的。它可以接受一个常量值或一个字典作为参数,用于填充缺失值。
下面是一个使用 fillna 函数的示例代码:
import Pandas as pdimport numpy as np# 创建一个包含缺失值的 DataFrame 对象data = {'A': [1, 2, np.nan], 'B': [4, np.nan, 6]}df = pd.DataFrame(data)# 使用 fillna 函数填充缺失值result = df.fillna(0)print(result)运行以上代码,输出结果如下:
A B0 1.0 4.01 2.0 0.02 0.0 6.0
可以看到,原始的 df 中有两个缺失值,fillna 函数将缺失值填充为 0,得到了填充后的结果。
在处理缺失值时,merge_first 和 fillna 有不同的用途和效果。merge_first 用于将两个 DataFrame 对象合并,并填充缺失值;fillna 用于填充单个 DataFrame 或 Series 对象中的缺失值。merge_first 适用于需要合并不同 DataFrame 中的数据的情况,而 fillna 适用于填充单个 DataFrame 或 Series 中的缺失值。
Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号