使用 Pandas 合并函数指定要输出的列

Specify columns to output with Pandas Merge function

import pandas as pd
df1 = pd.DataFrame({'lkey': ['foo', 'bar', 'baz', 'foo'],
                'value': [1, 2, 3, 5]})
df2 = pd.DataFrame({'rkey': ['dog', 'bar', 'baz', 'foo'],
                'value': [5, 6, 7, 8],
               'valuea': [9, 10, 11, 12],
               'valueb': [13, 14, 15, 16]})

我想合并这两个基于 'value' 的数据帧。但是我不希望结果给我 df2 中的所有列。根据图像中的平方输出,我想保留 'valuea' 列 header 的那个,而不是 'valueb' 列 header 的那个。

我试过的代码是

df1.merge(df2, on ='value')

有没有办法使用合并函数中的参数排除 header = valueb 的列?

您不能在 merge 函数中排除带有参数的列。

试试这些方法:

pd.merge(df1, df2).drop(columns=['valueb'])
pd.merge(df1, df2.drop(columns=['valueb']))