【发布时间】:2016-12-17 16:18:24
【问题描述】:
我习惯于在 R 中使用 dplyr,我会做类似的事情
library(dplyr)
mtcars2=mtcars
mtcars3 = mtcars %>% left_join(mtcars2[,c("mpg","vs","hp")], by =c("mpg",'hp') )
# what this does is I do a left join with multiple columns and then bring over only *1* additional column. This means that mtcars3 only has one additional field - a duplicated 'vs'
我不知道如何使用 pd.merge 来做同样的事情。 我想通过两列加入,然后仅将第三列引入 - 如果有意义的话,除了加入表之外,不是加入表中的每一列
import pandas as pd
mtcars = pd.read_csv('mtcars.csv')
mtcars2=mtcars
mtcars3 = pd.merge(mtcars, mtcars2['vs','hp','mpg'],how='left', on = ['mpg','hp'])
【问题讨论】:
-
两个链接可帮助您了解合并。 chrisalbon.com/python/pandas_join_merge_dataframe.html
标签: python pandas merge left-join