#python #pandas
#python #pandas
Вопрос:
У меня есть два фрейма данных:
Фрейм данных 1:
ID MONTH
1 2010-01
1 2010-03
1 2010-04
2 2010-01
3 2010-01
3 2010-02
Фрейм данных 2:
ID MONTH
1 2010-01
3 2010-02
Есть ли способ создать новый столбец в фрейме данных 1 на основе совпадений строк как в столбце ID, так и в столбце Month в фрейме данных 2?
Чтобы конечный результат выглядел как:
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
Ответ №1:
Уточните с помощью 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
Комментарии:
1. @MalikM yw 🙂 счастливого кодирования ~