案例 8: 数据合并 - 使用 concat
、merge
和 join
知识点讲解
在数据分析中,经常需要将不同的数据集合并在一起。Pandas 提供了 concat
, merge
, 和 join
几种方法来实现数据的合并。
concat
: 用于沿一定轴向将多个对象堆叠在一起。可以用于简单的数据合并操作,尤其是相同形状的 DataFrame。merge
: 类似于 SQL 中的 JOIN 操作。它可以根据一个或多个键将不同的 DataFrame 合并在一起。适用于列之间的关系合并。join
: 是merge
的便捷方法,默认按照索引进行合并,也可以用来按照列合并。
示例代码
使用 concat
合并
# 合并两个 DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3]})
df2 = pd.DataFrame({'B': [4, 5, 6]})
concatenated_df = pd.concat([df1, df2], axis=1)
print(concatenated_df)
使用 merge
合并
# 根据共同列合并两个 DataFrame
df3 = pd.DataFrame({'A': [1, 2, 3], 'C': ['x', 'y', 'z']})
merged_df = pd.merge(df1, df3, on='A')
print(merged_df)
使用 join
合并
# 根据索引合并两个 DataFrame
df4 = pd.DataFrame({'D': ['d', 'e', 'f']}, index=[1, 2, 3])
joined_df = df1.join(df4)
print(joined_df)
代码解释:
pd.concat([df1, df2], axis=1)
将df1
和df2
按列合并。pd.merge(df1, df3, on='A')
根据列A
将df1
和df3
合并。df1.join(df4)
根据索引将df1
和df4
合并。
合并操作是数据整合的重要环节,可以有效地组合来自不同来源的数据。