[英]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.