merge
在数据处理中,经常需要将来自不同来源的数据集合并在一起。Pandas 提供了 merge
函数,它类似于 SQL 中的 JOIN 操作,可以根据一个或多个键来合并两个 DataFrame。
inner
): 只合并两个 DataFrame 中都有的键。outer
): 合并两个 DataFrame 中的所有键,不存在的值用 NaN 填充。left
): 保留左边 DataFrame 的所有键。right
): 保留右边 DataFrame 的所有键。# 准备数据和示例代码的运行结果,用于案例 27
# 示例数据
data_merging = {
'ID': [1, 2, 3, 4],
'Name': ['Alice', 'Bob', 'Charlie', 'David']
}
df1_merging = pd.DataFrame(data_merging)
additional_data = {
'ID': [3, 4, 5, 6],
'Age': [25, 30, 35, 40]
}
df2_merging = pd.DataFrame(additional_data)
# 合并数据
merged_inner = pd.merge(df1_merging, df2_merging, on='ID', how='inner')
merged_outer = pd.merge(df1_merging, df2_merging, on='ID', how='outer')
merged_left = pd.merge(df1_merging, df2_merging, on='ID', how='left')
merged_right = pd.merge(df1_merging, df2_merging, on='ID', how='right')
df1_merging, df2_merging, merged_inner, merged_outer, merged_left, merged_right
在这个示例中,我们使用不同的方式合并了两个 DataFrame:一个包含 ID 和 Name,另一个包含 ID 和 Age。
原始 DataFrame (df1_merging
):
ID Name
0 1 Alice
1 2 Bob
2 3 Charlie
3 4 David
原始 DataFrame (df2_merging
):
ID Age
0 3 25
1 4 30
2 5 35
3 6 40
内连接 (merged_inner
):
ID Name Age
0 3 Charlie 25
1 4 David 30
外连接 (merged_outer
):
ID Name Age
0 1 Alice NaN
1 2 Bob NaN
2 3 Charlie 25.0
3 4 David 30.0
4 5 NaN 35.0
5 6 NaN 40.0
左连接 (merged_left
):
ID Name Age
0 1 Alice NaN
1 2 Bob NaN
2 3 Charlie 25.0
3 4 David 30.0
右连接 (merged_right
):
ID Name Age
0 3 Charlie 25
1 4 David 30
2 5 NaN 35
3 6 NaN 40
这个案例展示了如何使用不同类型的连接来合并数据集,这对于数据整合和分析是非常重要的。