pandas:基于相同的 ID 使用另一个数据帧的数据填充

作者:编程家 分类: pandas 时间:2025-12-11

使用pandas库可以轻松地处理和操作数据。其中之一的功能是基于相同的ID使用另一个数据帧的数据进行填充。这在数据处理和分析中经常会遇到的问题,特别是当我们有两个数据框,其中一个包含了我们感兴趣的数据,另一个包含了需要填充的数据。在本文中,我们将学习如何使用pandas来解决这个问题,并提供一个具体的案例代码。

案例介绍

假设我们有两个数据框:df1和df2。df1包含了学生的ID和他们的成绩,而df2包含了学生的ID和他们的年龄。我们的目标是将df2中的年龄数据填充到df1中。这样我们就可以在df1中同时拥有学生的成绩和年龄信息。

代码实现

首先,我们需要导入pandas库:

python

import pandas as pd

接下来,我们可以创建df1和df2数据框:

python

df1 = pd.DataFrame({'ID': [1, 2, 3, 4, 5],

'成绩': [90, 85, 92, 88, 95]})

df2 = pd.DataFrame({'ID': [1, 2, 3, 4, 5],

'年龄': [18, 19, 20, 19, 21]})

现在,我们可以使用pandas的merge函数将两个数据框按照ID进行合并:

python

df_merged = pd.merge(df1, df2, on='ID', how='left')

在上述代码中,我们使用了on参数来指定按照ID进行合并,使用how参数来指定合并的方式。在本例中,我们选择了左连接(left join),这意味着我们将保留df1中所有的行,并根据ID匹配df2中的行。

最后,我们可以查看合并后的数据框df_merged,其中包含了学生的ID、成绩和年龄信息:

python

print(df_merged)

结果输出

ID 成绩 年龄

0 1 90 18

1 2 85 19

2 3 92 20

3 4 88 19

4 5 95 21

我们可以看到,df_merged中的年龄列成功地填充到了df1中,根据ID进行了匹配。

在本文中,我们介绍了如何使用pandas库基于相同的ID使用另一个数据框的数据进行填充。通过使用merge函数,我们可以轻松地合并两个数据框,并根据ID进行匹配。这对于处理和分析具有相同ID的数据非常有用,可以帮助我们获得更完整的数据集。希望本文对你在使用pandas进行数据处理时有所帮助!