Python 组合数据帧,以便左侧的列条目与右侧的列条目相等,如果不是,则返回null

Python 组合数据帧,以便左侧的列条目与右侧的列条目相等,如果不是,则返回null,python,python-3.x,pandas,dataframe,join,Python,Python 3.x,Pandas,Dataframe,Join,因此,我有两个数据帧开始在熊猫 一个数据帧的列数比另一个多 在较大的框架中,其中一些列包含与较小框架中相同的行 我想要组合这两个数据帧,以便两个帧中相等的行生成一行,而不相等的行生成null 以下是我的意思: 设置 df1 = pd.DataFrame( [[1, 3, 'alpha'], [2, 4, 'beta']], columns=['a', 'b', 'features']) df2 = pd.DataFrame([[5, 6], [1, 3]], columns=['u

因此,我有两个数据帧开始在熊猫

一个数据帧的列数比另一个多 在较大的框架中,其中一些列包含与较小框架中相同的行

我想要组合这两个数据帧,以便两个帧中相等的行生成一行,而不相等的行生成null

以下是我的意思:

设置

df1 = pd.DataFrame(
    [[1, 3, 'alpha'], [2, 4, 'beta']], columns=['a', 'b', 'features'])
df2 = pd.DataFrame([[5, 6], [1, 3]], columns=['u', 'v'])
如何在熊猫身上做到这一点?在SQL中如何?

使用
merge

df1.merge(df2, left_on=['a', 'b'], right_on=['u', 'v'], how='left')

这基本上是一个左连接

很好的回答(-:这是一篇关于这种操作的好文章: