合并两个DataFrame不同的列加上不同前缀
要合并两个DataFrame,并给不同的列加上不同的前缀,可以使用pandas的merge()函数和add_prefix()函数来实现。
首先,假设我们有两个DataFrame df1和df2,它们有一些共同的列以及一些不同的列。我们可以使用merge()函数将它们合并在一起,通过指定on参数来指定共同的列。
merged_df = pd.merge(df1, df2, on='共同的列')
然后,我们可以使用add_prefix()函数给不同的列加上不同的前缀。首先,我们可以使用filter()函数过滤出df1中与df2中不同的列,然后使用add_prefix()函数给这些列添加前缀。
diff_columns = df1.columns.difference(df2.columns)
df1_diff = df1[diff_columns].add_prefix('前缀1_')
同样地,我们也可以使用filter()函数过滤出df2中与df1中不同的列,然后使用add_prefix()函数给这些列添加前缀。
diff_columns = df2.columns.difference(df1.columns)
df2_diff = df2[diff_columns].add_prefix('前缀2_')
最后,我们可以使用concat()函数将合并后的DataFrame和添加了前缀的不同列的DataFrame拼接在一起。
final_df = pd.concat([merged_df, df1_diff, df2_diff], axis=1)
完整的代码如下:
import pandas as pd
# 合并两个DataFrame
merged_df = pd.merge(df1, df2, on='共同的列')
# 给df1中的不同列加上前缀
diff_columns = df1.columns.difference(df2.columns)
df1_diff = df1[diff_columns].add_prefix('前缀1_')
# 给df2中的不同列加上前缀
diff_columns = df2.columns.difference(df1.columns)
df2_diff = df2[diff_columns].add_prefix('前缀2_')
# 拼接合并后的DataFrame和添加了前缀的不同列的DataFrame
final_df = pd.concat([merged_df, df1_diff, df2_diff], axis=1)
这样,我们就完成了合并两个DataFrame并给不同的列加上不同前缀的操作
原文地址: https://www.cveoy.top/t/topic/iarM 著作权归作者所有。请勿转载和采集!