'How to base on condition to update cell value?

Everyone, I'm absolute beginner of Python and currently leaning by myself. I have meet a problem, I hope I find talented person to teach me how to fix the issue.

  1. I have two different excel to compare...

                                   Data1.xlsx                                       Data2.xlsx
     |  Name   |   City    |  Reg Date  | Gender | Check In | Check In Date |  |   Name  |  Reg Date  |
     |Alex     | Hong Kong | 2021-06-30 | Male   |    Y     |  2021-06-30   |  |Annie    | 2021-07-01 |    
     |Annie    | Hong Kong | 2021-07-01 | Female |          |               |  |Billy    | 2021-07-02 |    
     |Bob      | Taipei    | 2021-06-28 | Male   |    Y     |  2021-06-28   |  |Cathrine | 2021-07-03 |    
     |Lucy     | Tokyo     | 2021-06-28 | Female |    Y     |  2021-06-28   |  |David    | 2021-07-04 |    
     |David    | London    | 2021-07-04 | Male   |          |               |  |Eric     | 2021-07-04 |    
     |Kate     | New York  | 2021-07-03 | Female |          |               |
     |Cathrine | London    | 2021-07-03 | Female |          |               |
     |Rose     | Hong Kong | 2021-07-04 | Female |          |               |
    
  2. Use Name & Reg Date for key to merge

    import openpyxl as xl
    import pandas as pd
    import numpy as np
    
    dt1 = pd.read_excel('Data1.xlsx')
    dt2 = pd.read_excel('Data2.xlsx')
    df_merge = pd.merge(dt1, dt2[['Name', 'Reg Date']], on=['Name', 'Reg Date'], how='left', indicator=True)
    
       Name         City     Reg Date   Gender  Check In  Check In Date    _merge  
    0  Alex      Hong Kong  2021-06-30  Male       Y       2021-06-30    left_only     
    1  Annie     Hong Kong  2021-07-01  Female    NaN          NaN            both 
    2  Bob       Taipei     2021-06-28  Male       Y       2021-06-28    left_only    
    3  Lucy      Tokyo      2021-06-28  Female     Y       2021-06-28    left_only
    4  David     London     2021-07-04  Male      NaN          NaN            both 
    5  Kate      New York   2021-07-03  Female    NaN          NaN       left_only
    6  Cathrine  London     2021-07-03  Female    NaN          NaN            both
    7  Rose      Hong Kong  2021-07-04  Female    NaN          NaN       left_only
    
  3. How to check equal both to fill Check In is Y & copy Reg Date to Check In Date ?

    for a in df_merge.iloc[:, [7]].values:
        if a == 'both':
    


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source