>>> df1
day holiday importance
0 2020-06-02 0 1
1 2020-06-12 0 2
2 2020-06-23 0 1
3 2020-06-25 0 3
4 2020-07-01 0 1
5 2020-07-13 0 3
6 2020-07-30 0 2
7 2020-08-03 0 3
>>> df2
day holidayname
0 2020-06-02 A
0 2020-07-01 B
0 2020-08-03 C
and I want to modify the value of column[holiday] in df1 according to df2.
The expected output would be:
>>> df1
day holiday importance
0 2020-06-02 1 1
1 2020-06-12 0 2
2 2020-06-23 0 1
3 2020-06-25 0 3
4 2020-07-01 1 1
5 2020-07-13 0 3
6 2020-07-30 0 2
7 2020-08-03 1 3
I have tried
mask = df1.merge(df2, how='left', indicator=True)['_merge'] == 'both'
df1.loc[mask, 'holiday'] = 1
and got:
>>> df1
day holiday importance
0 2020-06-02 1 1
1 2020-06-12 0 2
2 2020-06-23 0 1
3 2020-06-25 0 3
4 2020-07-01 0 1
5 2020-07-13 0 3
6 2020-07-30 0 2
7 2020-08-03 0 3
so How could I modify all the related rows?