如何使用python识别几个匹配的列值以选择行并将值从另一个表分配给新

我正在尝试使用 python 将数据帧中的 3 列的值匹配到另一个数据帧,并从匹配的数据帧中的另一列获取值。如何遍历我的数据框以选择与其他数据框匹配的列并从我想要的列中提取值?匹配条件是列 a、b 和 c 应该是相同的值。

这是我的数据框 [df1]:

http://img.mukewang.com/6268d3dd000152b501910078.jpg

这是另一个 datframe[df2]:

http://img3.mukewang.com/6268d3eb0001160e02540119.jpg

这是我想要达到的结果[df3]:

http://img3.mukewang.com/6268d3f400011df702550080.jpg


慕容森
浏览 200回答 3
3回答

阿波罗的战车

这应该足够了:df3 = df2.merge(df1, on=['a','b','c'], how='inner')

繁花不似锦

您真正想要做的是加入或合并列。根据您的要求,使用以下链接满足您的查询,另请参阅一些教程。new_df = df2.merge(df1, on=['a','b','c'], how='inner')# use how='inner' when you want intersection# use how='outer' when you want union

慕尼黑8549860

您也可以执行以下操作而不是合并:dft = pd.concat([df1, df2.iloc[:, :3]])df = df2.loc[dft[dft.duplicated()].index]print(df)     a    b    c    d0  fra  chi  nga  can1  wal  bra  rsa  usa4  ita  arg  sen  jam    
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python