要合并两个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并给不同的列加上不同前缀的操作

合并两个DataFrame不同的列加上不同前缀

原文地址: https://www.cveoy.top/t/topic/iarM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录