可以使用merge函数来合并两个DataFrame,并指定合并方式和保留列的规则。

首先,假设有两个DataFrame:df1和df2。其中df1是第一个表格,df2是第二个表格。

如果有名称相同但内容不同的列,我们可以给列名加上不同前缀,例如给df1的列名加上前缀"df1_",给df2的列名加上前缀"df2_"。

然后,我们可以使用merge函数将两个DataFrame按照特定的列进行合并,并指定合并方式为"outer",表示保留所有行。

最后,通过combine_first函数将df1中的特定列与合并后的结果中的特定列进行合并,保留来自df1的内容。

以下是一个示例代码:

import pandas as pd

# 创建第一个DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3],
                    'B': [4, 5, 6],
                    'C': [7, 8, 9]})

# 创建第二个DataFrame
df2 = pd.DataFrame({'A': [1, 2, 3],
                    'B': [10, 11, 12],
                    'C': [13, 14, 15]})

# 给df1的列名加上前缀"df1_"
df1 = df1.add_prefix('df1_')

# 给df2的列名加上前缀"df2_"
df2 = df2.add_prefix('df2_')

# 合并两个DataFrame
merged_df = pd.merge(df1, df2, left_on='df1_A', right_on='df2_A', how='outer')

# 将df1中的特定列与合并后的结果中的特定列进行合并,保留来自df1的内容
merged_df['df1_C'] = merged_df['df1_C'].combine_first(merged_df['df2_C'])

# 输出合并后的结果
print(merged_df)

输出结果如下:

   df1_A  df1_B  df1_C  df2_A  df2_B  df2_C
0      1      4    7.0      1     10     13
1      2      5    8.0      2     11     14
2      3      6    9.0      3     12     15

在这个示例中,我们使用了add_prefix函数来给列名加上前缀。然后,使用merge函数按照列"A"进行合并。最后,使用combine_first函数将df1中的列"C"与合并后的结果中的列"C"进行合并,保留来自df1的内容

合并两个DataFrame如果有名称相同但内容不同的列就给列名加上不同前缀其中特定列保留来自第一个表格的内容

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

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