2023-09-28 13:35:35
在 Pandas 中,merge、join 和 concat 是三种常用的数据合并方法,它们在功能和使用场景上有所不同,效率也有所差异。以下是对这三种方法的详细对比:
1. merge 方法以下是使用 merge、join 和 concat 的示例代码:
import pandas as pd# 创建示例 DataFramedf1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'], 'B': ['B0', 'B1', 'B2', 'B3'], 'key': ['K0', 'K1', 'K2', 'K3']})df2 = pd.DataFrame({'C': ['C0', 'C1', 'C2', 'C3'], 'D': ['D0', 'D1', 'D2', 'D3'], 'key': ['K0', 'K1', 'K2', 'K3']})# 使用 merge 合并merged_df = pd.merge(df1, df2, on='key')print("Merged DataFrame:")print(merged_df)# 使用 join 合并(需要先设置索引)df1.set_index('key', inplace=True)df2.set_index('key', inplace=True)joined_df = df1.join(df2)print("nJoined DataFrame:")print(joined_df)# 重置索引以便后续 concat 操作df1.reset_index(inplace=True)df2.reset_index(inplace=True)# 使用 concat 合并(沿行堆叠)concatenated_df = pd.concat([df1, df2], axis=0)print("nConcatenated DataFrame (axis=0):")print(concatenated_df)# 使用 concat 合并(沿列堆叠)concatenated_df_col = pd.concat([df1, df2], axis=1)print("nConcatenated DataFrame (axis=1):")print(concatenated_df_col)这段代码展示了如何使用 merge、join 和 concat 来合并 DataFrame,并打印出合并后的结果。在实际应用中,可以根据具体需求选择合适的合并方法。