合并和连接wo pandas数据框,其中不包括右侧数据框列

安南斯

我有两个如下所示的数据框。

***df1 = pd.DataFrame({'a':[1,1,2,2,3,3], 'b':[1,2,1,2,1,2], 'c':[1,2,4,0,0,2]})***

df1

a   b   c

0 1 1 1 1 1 2 2 2 2 1 4 3 2 2 0 4 3 1 0 5 3 2 2

***df2 = pd.DataFrame({'a':[1,1,2,2], 'b':[1,2,1,2], 'c':[1,5,6,2]})***

df2

a   b   c

0 1 1 1 1 1 2 5 2 2 1 6 3 2 2 2

我想同时应用两个数据帧的内部联接,并且不希望使用df2中的列,因此尝试使用以下代码。

***merged_df = df1.merge(df2, how='inner', left_on=["a", "b"], right_on=["a","b"])***

a   b   c_x c_y

0 1 1 1 1 1 1 2 2 5 2 2 1 4 6 3 2 2 0 2

从上面的代码中,没有手动删除c_x和c_y,基本上有没有办法不合并正确的dataframe(df2),我想要df1中的所有列,并且合并后不想要df2中的任何列。提前致谢。

耶斯列尔

想法是在此处仅过滤要合并的列a,b如果要按两列合并,on则应省略参数(然后按两列中的列交点合并大熊猫DataFrames):

merged_df = df1.merge(df2[["a", "b"]])

像这样工作:

merged_df = df1.merge(df2[["a", "b"]], on=['a','b'])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章