![](/img/trans.png)
[英]Populating a new dataframe column based on column matches for another dataframe
[英]Creating a new column in a dataframe based on matches with another dataframe
我有两个数据框:
Dataframe 1:
ID MONTH
1 2010-01
1 2010-03
1 2010-04
2 2010-01
3 2010-01
3 2010-02
Dataframe 2:
ID MONTH
1 2010-01
3 2010-02
有没有办法根据 dataframe2 中 ID 和 Month 列的行匹配在 Dataframe 1 中创建一个新列?
这样最终结果将如下所示:
ID MONTH Match
0 1 2010-01 Y
1 1 2010-03 N
2 1 2010-04 N
3 2 2010-01 N
4 3 2010-01 N
5 3 2010-02 Y
使用merge
+ indicator
检查,返回both
将为Yes
, left_only
将为No
s=df1.merge(df2,indicator=True,how='left')
s['Match']=s.pop('_merge').map({'both':'Y','left_only':'N'})
s
Out[18]:
ID MONTH Match
0 1 2010-01 Y
1 1 2010-03 N
2 1 2010-04 N
3 2 2010-01 N
4 3 2010-01 N
5 3 2010-02 Y
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.