组合数据框,使左侧的列条目在右侧等于列条目,如果不返回null

时间:2018-03-16 15:55:18

标签: python python-3.x pandas dataframe join

所以我在pandas中有两个数据框。

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

我想组合两个数据帧,使两个帧中相等的行产生一行,而不相等的行导致空。

这是我的意思的图片:

dataframe1

dataframe2

resulting_data_frame

设置

df1 = pd.DataFrame(
    [[1, 3, 'alpha'], [2, 4, 'beta']], columns=['a', 'b', 'features'])
df2 = pd.DataFrame([[5, 6], [1, 3]], columns=['u', 'v'])

怎么能在熊猫里做到这一点?在SQL中怎么样?

1 个答案:

答案 0 :(得分:1)

使用merge

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

它基本上是一个左连接