在另一个数据框中寻找特定记录匹配[重复]
Posted
技术标签:
【中文标题】在另一个数据框中寻找特定记录匹配[重复]【英文标题】:Looking for specifics records matchs in another dataframe [duplicate] 【发布时间】:2021-09-17 19:39:15 【问题描述】:我的 df1 如下:
Name | ID
________|_____
Banana | 10
Orange | 21
Peach | 115
然后我有一个这样的df2:
ID Price
10 2.34
10 2.34
115 6.00
我想修改 df2 以添加另一个列名 Fruit 以将其作为输出:
ID Fruit Price
10 Banana 2.34
10 Banana 2.34
115 Peach 6.00
200 NA NA
我可以使用 iloc 来获得一个特定的匹配,但是如何在 df2 的所有记录中做到这一点?
【问题讨论】:
所以基本上是pd.merge
?
您如何在预期输出中获得 ID='200'?
df1.merge(df2,how='outer',on='ID')
?
【参考方案1】:
您是否尝试过查看merge 函数?
pd.merge(df1, df2)
输出:
Name Id Price
0 Banana 10 2.34
1 Banana 10 2.34
2 Peach 115 6.00
编辑: 如果您只想从 df2 添加特定列:
df = pd.merge(df1,df2[['Id','Price']],on='Id', how='left')
输出:
Name Id Price
0 Banana 10 2.34
1 Banana 10 2.34
2 Orange 21 NaN
3 Peach 115 6.00
【讨论】:
我会试试的。 df1 有 33 列,df2 有 17 列。我只想在 df2 中再添加一列。合并会做到这一点,对吧? 如果您只想将 df2 中的 1 列合并到 df1 中,您应该看看this 问题。我将编辑我的答案。以上是关于在另一个数据框中寻找特定记录匹配[重复]的主要内容,如果未能解决你的问题,请参考以下文章