pandas(python)
pandas.merge
可根据一个或多个键将不同 DataFrame 中的行连接起来。
1 | import pandas as pd |
注意,我并没有指明要用哪个列进行连接。如果没有指定,merge就会将重叠列的列名当做键。不过,最好明确指定一下:
1 | In [40]: pd.merge(df1, df2, on='key') |
如果两个对象的列名不同,也可以分别进行指定:
1 | In [41]: df3 = pd.DataFrame({'lkey': ['b', 'b', 'a', 'c', 'a', 'a', 'b'], |
结果里面c和d以及与之相关的数据消失了。默认情况下,merge做的是“内连接”how='outer'
;结果中的键是交集。其他方式还有”left”、”right”以及”outer”。
要根据多个键进行合并,传入一个由列名组成的列表即可:
1 | In [51]: left = pd.DataFrame({'key1': ['foo', 'foo', 'bar'], |
dplyr(R)
1 | innner_join(x, y, by = "z") #内连接 |